Détermination du format de sortie d’un décompresseur
[La fonctionnalité associée à cette page, Video Compression Manager, est une fonctionnalité héritée. Microsoft recommande vivement que le nouveau code n’utilise pas cette fonctionnalité.]
L’exemple suivant détermine la taille de mémoire tampon nécessaire pour les données spécifiant le format de décompression à l’aide de la macro ICDecompressGetFormatSize , alloue une mémoire tampon de la taille appropriée à l’aide de la fonction GlobalAlloc et récupère les informations de format de décompression à l’aide de la macro 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);
L’exemple suivant montre comment une application peut utiliser la macro ICDecompressQuery pour déterminer si un décompresseur peut gérer les formats d’entrée et de sortie.
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.
}
Le fragment de code suivant montre comment obtenir les informations de la palette à l’aide de la macro ICDecompressGetPalette .
ICDecompressGetPalette(hIC, lpbiIn, lpbiOut);
// Move up to the palette.
lpPalette = (LPBYTE)lpbiOut + lpbi->biSize;