Udostępnij przez


Określanie formatu wyjściowego dekompresora

[Funkcja skojarzona z tą stroną, Video Compression Manager, jest starszą funkcją. Firma Microsoft zdecydowanie zaleca, aby nowy kod nie używał tej funkcji.]

Poniższy przykład określa rozmiar buforu wymagany dla danych określających format dekompresji przy użyciu makra ICDecompressGetFormat Size, przydziela bufor odpowiedniego rozmiaru przy użyciu funkcji GlobalAlloc i pobiera informacje o formacie dekompresacji przy użyciu makra ICDecompressGetFormat.

LPBITMAPINFOHEADER lpbiIn, lpbiOut; 
 
// Assume *lpbiIn points to the input (compressed) format. 
dwFormatSize = ICDecompressGetFormatSize(hIC, lpbiIn); 
h = GlobalAlloc(GHND, dwFormatSize); 
lpbiOut = (LPBITMAPINFOHEADER)GlobalLock(h); 
ICDecompressGetFormat(hIC, lpbiIn, lpbiOut); 
 

W poniższym przykładzie pokazano, jak aplikacja może używać makra ICDecompressQuery w celu określenia, czy dekompresor może obsługiwać formaty wejściowe i wyjściowe.

LPBITMAPINFOHEADER lpbiIn, lpbiOut; 
// Assume *lpbiIn & *lpbiOut are initialized to the respective 
// formats.
 
if (ICDecompressQuery(hIC, lpbiIn, lpbiOut) == ICERR_OK)
{ 
    
    // Format is supported - use the decompressor. 
    
} 
 

Poniższy fragment kodu pokazuje, jak uzyskać informacje o palecie przy użyciu makra ICDecompressGetPalette.

ICDecompressGetPalette(hIC, lpbiIn, lpbiOut); 
 
// Move up to the palette. 
lpPalette = (LPBYTE)lpbiOut + lpbi->biSize;