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)

Weitere Informationen

AVStrMiniPinProcess

KSPROPERTY_MAP_CAPTURE_HANDLE_TO_VRAM_ADDRESS