データの圧縮解除

[このページに関連付けられている機能である 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. 
}