共用方式為


判斷解壓縮程式的輸出格式

[與此頁面相關的功能影片 壓縮管理員是舊版功能。 Microsoft 強烈建議新程式碼不使用此功能。]

下列範例會決定使用 ICDecompressGetFormatSize 宏指定解壓縮格式之資料所需的緩衝區大小、使用 GlobalAlloc 函數配置適當大小的緩衝區,以及使用 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); 
 

下列範例示範應用程式如何使用 ICDecompressQuery 宏來判斷解壓縮程式是否可以處理輸入和輸出格式。

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. 
    
} 
 

下列程式碼片段示範如何使用 ICDecompressGetPalette 宏取得調色盤資訊。

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