VIDEO_REQUEST_PACKET structure (video.h)

Un pointeur vers une structure VIDEO_REQUEST_PACKET est passé à la fonction HwVidStartIO du pilote miniport par le pilote de port vidéo. Le pilote de port vidéo configure le VRP à partir du code IRP (voir IRP Major Function Codes) envoyé en réponse à un appel GDI à EngDeviceIoControl. En règle générale, le pilote d’affichage correspondant effectue l’appel à EngDeviceIoControl lorsqu’il a besoin d’une prise en charge de la paire de pilotes port-miniport vidéo. Le pilote de port vidéo appelle le pilote miniport avec le VRP pour traiter la requête IOCTL_VIDEO_XXX donnée.

Syntaxe

typedef struct _VIDEO_REQUEST_PACKET {
  ULONG         IoControlCode;
  PSTATUS_BLOCK StatusBlock;
  PVOID         InputBuffer;
  ULONG         InputBufferLength;
  PVOID         OutputBuffer;
  ULONG         OutputBufferLength;
} VIDEO_REQUEST_PACKET, *PVIDEO_REQUEST_PACKET;

Membres

IoControlCode

Spécifie une valeur IOCTL_VIDEO_XXX transmise à la fonction EngDeviceIoControl par l’appelant et envoyée au pilote de port vidéo dans un code IRP. Pour plus d’informations sur l’ensemble des IOCTL_VIDEO_XXX définis par le système que les pilotes miniport doivent prendre en charge, consultez Video Miniport Driver I/O Control Codes.

StatusBlock

Pointeur vers une structure STATUS_BLOCK dans le VRP. StatusBlock est renseigné par le pilote miniport avec les informations de retour à la fin de chaque VRP.

InputBuffer

Pointeur vers une mémoire tampon d’entrée qui contient des informations transmises par l’appelant. La structure des données dépend de la valeur d’IoControlCode. Ce membre pointe en fait vers la même mémoire tampon que celle indiquée par OutputBuffer.

InputBufferLength

Spécifie la taille en octets de la mémoire tampon d’entrée.

OutputBuffer

Pointeur vers une mémoire tampon de sortie dans laquelle le pilote miniport transfère les données à retourner à l’appelant. La structure des données dépend de la valeur d’IoControlCode. Étant donné que ce membre pointe vers la même mémoire tampon que InputBuffer, un pilote miniport ne doit pas écrire la sortie dans outputBuffer avant d’avoir consommé toutes les données d’entrée de l’inputBuffer.

OutputBufferLength

Spécifie la taille en octets de la mémoire tampon de sortie. Un pilote miniport ne peut pas agrandir cette mémoire tampon. Un pilote miniport doit définir le membre Status de StatusBlock avec ERROR_INSUFFICIENT_BUFFER ou ERROR_MORE_DATA si le OutputBuffer donné est trop petit pour contenir toutes les informations retournées.

Configuration requise

Condition requise Valeur
En-tête video.h (incluez Video.h)

Voir aussi

HwVidStartIO

STATUS_BLOCK

Codes de contrôle d’E/S du pilote Miniport vidéo