判斷解壓縮程式的輸出格式
[與此頁面相關的功能影片 壓縮管理員是舊版功能。 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;