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) |