IOCTL_VIDEO_SHARE_VIDEO_MEMORY IOCTL (ntddvdeo.h)
この IOCTL は、ユーザー モードのビデオ メモリを線形 フレーム バッファーとして共有するプロセスによって呼び出されます。 ミニポート ドライバーは、 VideoPortMapBankedMemory を使用して呼び出し元のアドレス空間にフレーム バッファーをマッピングすることによって、この IOCTL を処理します。 それ以外の場合、この IOCTL は IOCTL_VIDEO_MAP_VIDEO_MEMORYと同じです。
この要求はモーダルと非モーダルの両方です。ミニポート ドライバーは、ビデオ メモリ内のフレーム バッファーの場所サイズを返す必要があります。フレーム バッファーのサイズと場所はモードによって異なる場合があります (モーダル特性)、後続のセット モード操作 (同じモード) では、ビデオ メモリの場所 (非変更特性) を変更することはできません。
この IOCTL は DCI のみです。
メジャー コード
[入力バッファー]
VRP InputBuffer には 、 フレーム バッファーをマッピングするプロセスへのハンドルと、要求されたビュー サイズと共有メモリへのオフセットを指定するVIDEO_SHARE_MEMORY構造体が含まれています。 ビュー サイズとオフセットは、アダプターのメモリ サイズを超えてはなりません。
出力バッファー
ミニポート ドライバーは、VRP OutputBuffer でVIDEO_SHARE_MEMORY_INFORMATION構造体を返します。 この出力には、ビデオ メモリがマップされている仮想アドレス、マップされたメモリのビュー サイズ (バイト単位)、およびビューへのオフセットが含まれます。
ステータス ブロック
ミニポート ドライバーが正常にメモリをマップする場合は、STATUS_BLOCK構造体の Information メンバーを sizeof(VIDEO_SHARE_MEMORY_INFORMATION)に設定します。それ以外の場合、ミニポート ドライバーは、このメンバーを 0 に設定します。
要件
要件 | 値 |
---|---|
Header | ntddvdeo.h |