VRAM_SURFACE_INFO structure (ksmedia.h)
La structure VRAM_SURFACE_INFO décrit une région de mémoire système ou d’affichage dans laquelle un minidriver AVStream capture des données audio ou vidéo.
Syntaxe
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;
Membres
hSurface
Pointeur vers un handle en mode noyau qui identifie la surface VRAM.
VramPhysicalAddress
Ce membre contient l’adresse physique de la surface dans la mémoire d’affichage. Le minidriver remplit ce membre dans le gestionnaire pour KSPROPERTY_MAP_CAPTURE_HANDLE_TO_VRAM_ADDRESS.
cbCaptured
Ce membre spécifie le nombre d’octets copiés dans la surface VRAM. Le minidriver définit cette valeur.
dwWidth
Ce membre spécifie la largeur des données vidéo en pixels. Le minidriver définit cette valeur.
dwHeight
Ce membre spécifie la hauteur des données vidéo, en pixels. Le minidriver définit cette valeur.
dwLinearSize
Ce membre spécifie la taille linéaire, en octets, d’une surface nonrectangulaire. Le minidriver définit cette valeur.
lPitch
Ce membre spécifie le tangage de la surface ; c’est-à-dire la distance, en octets, jusqu’au début de la ligne suivante. C’est également ce que l’on appelle la foulée de la surface. Le minidriver définit cette valeur.
ullReserved[16]
Le minidriver peut utiliser ce membre pour stocker des informations sur la surface pendant qu’il gère une demande de KSPROPERTY_MAP_CAPTURE_HANDLE_TO_VRAM_ADDRESS . Soyez toutefois prudent ; cette structure ne persiste pas entre les appels AVStrMiniPinProcess .
Remarques
Lorsque le minidriver reçoit VRAM_SURFACE_INFO par le biais d’un appel de propriété KSPROPERTY_MAP_CAPTURE_HANDLE_TO_VRAM_ADDRESS , les membres qui suivent VramPhysicalAddress dans la liste des membres (à l’exception de ullReserved) sont mis à zéro. Le pilote de capture peut stocker des données privées liées à la capture dans ces membres.
AVStream stocke ensuite ces informations dans l’en-tête de flux et les retourne au minidriver dans la fonction de rappel AVStrMiniPinProcess .
Les données de ces membres sont conservées pendant toute la durée de vie de l’en-tête de flux. Lorsque tous les clones sont supprimés ou que la périphérie avancée est avancée, ces données ne sont plus accessibles.
Configuration requise
Condition requise | Valeur |
---|---|
En-tête | ksmedia.h (incluez Ksmedia.h) |