Partager via


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;