Partager via


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)

Voir aussi

AVStrMiniPinProcess

KSPROPERTY_MAP_CAPTURE_HANDLE_TO_VRAM_ADDRESS