VIDEO_REQUEST_PACKET構造 (video.h)
VIDEO_REQUEST_PACKET構造体へのポインターは、ビデオ ポート ドライバーによってミニポート ドライバーの HwVidStartIO 関数に渡されます。 ビデオ ポート ドライバーは、ENGDeviceIoControl への GDI 呼び出しに応答して送信される IRP コード (「IRP の主要な関数コード」を参照) から VRP を設定します。 通常、対応するディスプレイ ドライバーは、ビデオ ポート ミニポート ドライバー ペアからのサポートが必要な場合に EngDeviceIoControl を呼び出します。 ビデオ ポート ドライバーは、 VRP を使用してミニポート ドライバーを呼び出して、指定されたIOCTL_VIDEO_XXX 要求を処理します。
構文
typedef struct _VIDEO_REQUEST_PACKET {
ULONG IoControlCode;
PSTATUS_BLOCK StatusBlock;
PVOID InputBuffer;
ULONG InputBufferLength;
PVOID OutputBuffer;
ULONG OutputBufferLength;
} VIDEO_REQUEST_PACKET, *PVIDEO_REQUEST_PACKET;
メンバー
IoControlCode
呼び出し元によって EngDeviceIoControl 関数に渡され、IRP コードでビデオ ポート ドライバーに送信されるIOCTL_VIDEO_XXX 値を指定します。 ミニポート ドライバーがサポートする必要があるシステム定義IOCTL_VIDEO_XXX のセットの詳細については、「 ビデオ ミニポート ドライバー I/O コントロール コード」を参照してください。
StatusBlock
VRP 内のSTATUS_BLOCK構造体へのポインター。 StatusBlock は、各 VRP の完了時に戻り情報をミニポート ドライバーによって入力されます。
InputBuffer
呼び出し元によって渡された情報を含む入力バッファーへのポインター。 データの構造は、 IoControlCode の値によって異なります。 このメンバーは、実際には OutputBuffer によって示されるバッファーと同じバッファーを指します。
InputBufferLength
入力バッファーのサイズをバイト単位で指定します。
OutputBuffer
ミニポート ドライバーが呼び出し元に返されるデータを転送する出力バッファーへのポインター。 データの構造は、 IoControlCode の値によって異なります。このメンバーは InputBuffer と同じバッファーを指しているため、ミニポート ドライバーは、 InputBuffer からすべての入力データを使用する前に OutputBuffer に出力を書き込む必要があります。
OutputBufferLength
出力バッファーのサイズをバイト単位で指定します。 ミニポート ドライバーは、このバッファーを拡大できません。 ミニポート ドライバーは、指定された OutputBuffer が小さすぎて返されるすべての情報を含めなければ、ERROR_INSUFFICIENT_BUFFERまたはERROR_MORE_DATAで StatusBlock の Status メンバーを設定する必要があります。
要件
要件 | 値 |
---|---|
Header | video.h (Video.h を含む) |