确定解压缩器的输出格式
[与此页面关联的功能 视频压缩管理器是一项旧功能。 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;