VRAM_SURFACE_INFO Struktur (ksmedia.h)
Die VRAM_SURFACE_INFO-Struktur beschreibt einen Bereich des System- oder Anzeigespeichers, in dem ein AVStream-Minidriver Audio- oder Videodaten erfasst.
Syntax
typedef struct {
UINT_PTR hSurface;
LONGLONG VramPhysicalAddress;
DWORD cbCaptured;
DWORD dwWidth;
DWORD dwHeight;
DWORD dwLinearSize;
LONG lPitch;
ULONGLONG ullReserved[16];
} VRAM_SURFACE_INFO, *PVRAM_SURFACE_INFO;
Member
hSurface
Ein Zeiger auf ein Kernelmodushandle, das die VRAM-Oberfläche identifiziert.
VramPhysicalAddress
Dieses Element enthält die physische Adresse der Oberfläche im Anzeigespeicher. Der Minidriver füllt dieses Element im Handler für KSPROPERTY_MAP_CAPTURE_HANDLE_TO_VRAM_ADDRESS aus.
cbCaptured
Dieses Element gibt die Anzahl der Bytes an, die in die VRAM-Oberfläche kopiert wurden. Der Minidriver legt diesen Wert fest.
dwWidth
Dieses Element gibt die Breite der Videodaten in Pixel an. Der Minidriver legt diesen Wert fest.
dwHeight
Dieses Element gibt die Höhe der Videodaten in Pixel an. Der Minidriver legt diesen Wert fest.
dwLinearSize
Dieses Element gibt die lineare Größe einer nicht-ectangularen Oberfläche in Bytes an. Der Minidriver legt diesen Wert fest.
lPitch
Dieses Element gibt die Tonhöhe der Oberfläche an. d. h. der Abstand (in Bytes) zum Anfang der nächsten Zeile. Dies wird auch als Schritt der Oberfläche bezeichnet. Der Minidriver legt diesen Wert fest.
ullReserved[16]
Der Minidriver kann dieses Element verwenden, um Informationen zur Oberfläche zu speichern, während er eine KSPROPERTY_MAP_CAPTURE_HANDLE_TO_VRAM_ADDRESS-Anforderung verarbeitet. Gehen Sie jedoch vorsichtig vor. Diese Struktur bleibt nicht über AVStrMiniPinProcess-Aufrufe hinweg erhalten.
Hinweise
Wenn der Minidriver VRAM_SURFACE_INFO über einen KSPROPERTY_MAP_CAPTURE_HANDLE_TO_VRAM_ADDRESS-Eigenschaftsaufruf empfängt, werden die Elemente nach VramPhysicalAddress in der Memberliste (mit Ausnahme von ullReserved) auf Null gesetzt. Der Erfassungstreiber kann erfassungsbezogene private Daten in diesen Membern speichern.
AVStream speichert diese Informationen dann im Streamheader und gibt sie an den Minidriver in der AVStrMiniPinProcess-Rückruffunktion zurück.
Die Daten in diesen Membern bleiben für die Lebensdauer des Streamheaders erhalten. Wenn alle Klone gelöscht oder der führende Edge erweitert wird, kann nicht mehr auf diese Daten zugegriffen werden.
Anforderungen
Anforderung | Wert |
---|---|
Header | ksmedia.h (include Ksmedia.h) |