次の方法で共有


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で StatusBlockStatus メンバーを設定する必要があります。

要件

要件
Header video.h (Video.h を含む)

こちらもご覧ください

HwVidStartIO

STATUS_BLOCK

ビデオ ミニポート ドライバー I/O コントロール コード