データの圧縮解除
[このページに関連付けられている機能である Video Compression Manager は、従来の機能です。 Microsoft では、新しいコードではこの機能を使用しないことを強くお勧めします。]
次の例は、 アプリケーションが ICDecompressBegin マクロを使用して圧縮解除プログラムを初期化し、 ICDecompress 関数を使用してフレーム シーケンスを圧縮解除し、 ICDecompressEnd マクロを使用して圧縮解除を終了する方法を示しています。
LPBITMAPINFOHEADER lbpiIn, lpbiOut;
LPVOID lpIn, lpOut;
LONG lNumFrames, lFrameNum;
// Assume lpbiIn and lpbiOut are initialized to the input and output
// format and lpIn and lpOut are pointing to the buffers.
if (ICDecompressBegin(hIC, lpbiIn, lpbiOut) == ICERR_OK)
{
for (lFrameNum = 0; lFrameNum < lNumFrames, lFrameNum++)
{
if (ICDecompress(hIC, 0, lpbiIn, lpIn, lpbiOut,
lpOut) == ICERR_OK)
{
// Frame decompressed OK so we can process it as required.
}
else
{
// Handle the decompression error that occurred.
}
}
ICDecompressEnd(hIC);
}
else
{
// Handle the error identifying an unsupported format.
}