Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
[Das feature, das dieser Seite zugeordnet ist, der Videokomprimierungs-Manager, ist ein Legacyfeature. Microsoft empfiehlt dringend, dass neuer Code dieses Feature nicht verwendet.]
Im folgenden Beispiel wird das IcCompressGetFormat-Größenmakro verwendet, um die für die Daten erforderliche Puffergröße zu bestimmen, die das Komprimierungsformat angeben, einen Puffer der entsprechenden Größe mithilfe der GlobalAlloc-Funktion zuordnet und die Komprimierungsformatinformationen mithilfe des ICCompressGetFormat-Makros abzurufen.
LPBITMAPINFOHEADER lpbiIn, lpbiOut;
// *lpbiIn must be initialized to the input format.
dwFormatSize = ICCompressGetFormatSize(hIC, lpbiIn);
h = GlobalAlloc(GHND, dwFormatSize);
lpbiOut = (LPBITMAPINFOHEADER)GlobalLock(h);
ICCompressGetFormat(hIC, lpbiIn, lpbiOut);
Im folgenden Beispiel wird das ICCompressQuery-Makro verwendet, um zu bestimmen, ob ein Kompressor die Eingabe- und Ausgabeformate verarbeiten kann.
LPBITMAPINFOHEADER lpbiIn, lpbiOut;
// Both *lpbiIn and *lpbiOut must be initialized to the respective
// formats.
if (ICCompressQuery(hIC, lpbiIn, lpbiOut) == ICERR_OK)
{
// Format is supported; use the compressor.
}
Im folgenden Beispiel wird das ICCompressGetSize-Makro verwendet, um die Puffergröße zu bestimmen, und es wird ein Puffer dieser Größe mithilfe von GlobalAlloc zugeordnet.
// Find the worst-case buffer size.
dwCompressBufferSize = ICCompressGetSize(hIC, lpbiIn, lpbiOut);
// Allocate a buffer and get lpOutput to point to it.
h = GlobalAlloc(GHND, dwCompressBufferSize);
lpOutput = (LPVOID)GlobalLock(h);