Freigeben über


GetBitmapFormatSize-Funktion

[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde von MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation abgelöst. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code mediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet, wenn möglich. Microsoft schlägt vor, dass vorhandener Code, der die Legacy-APIs verwendet, so umgeschrieben wird, dass nach Möglichkeit die neuen APIs verwendet werden.]

Die GetBitmapFormatSize Funktion berechnet die größe, die für eine VIDEOINFO-Struktur erforderlich ist, die eine angegebene BITMAPINFOHEADER-Struktur enthalten kann.

Syntax

LONG GetBitmapFormatSize(
   const BITMAPINFOHEADER *pHeader
);

Parameter

pHeader

Zeiger auf eine BITMAPINFOHEADER-Struktur .

Rückgabewert

Gibt die Größe in Bytes zurück.

Bemerkungen

Auf eine BITMAPINFOHEADER-Struktur können Farbmasken oder Paletteneinträge folgen, sodass es schwierig sein kann, die Anzahl der Bytes zu bestimmen, die zum Erstellen einer VIDEOINFO-Struktur aus einer vorhandenen BITMAPINFOHEADER-Struktur erforderlich sind.

Um eine BITMAPINFOHEADER-Struktur in eine VIDEOINFO-Struktur zu kopieren, verwenden Sie das HEADER-Makro , das den richtigen Offset berechnet.

Beispiele

LONG size = GetBitmapFormatSize(&bmi);

VIDEOINFO *pVi = static_cast<VIDEOINFO*>(CoTaskMemAlloc(size));

if (pVi != NULL)
{
    CopyMemory(HEADER(pVi), &bmi, sizeof(BITMAPINFOHEADER));
}

Anforderungen

Anforderung Wert
Header
Wxutil.h (Streams.h einschließen)
Bibliothek
Strmbase.lib (Einzelhandelsbuilds);
Strmbasd.lib (Debugbuilds)

Siehe auch

Video- und Bildfunktionen