DXGKDDI_OPENALLOCATIONINFO コールバック関数 (d3dkmddi.h)

DxgkDdiOpenAllocation 関数は、DxgkDdiCreateAllocation 関数が作成した非デバイス固有の割り当てを、指定されたグラフィックス コンテキスト デバイスに固有の割り当てにバインドします。

構文

DXGKDDI_OPENALLOCATIONINFO DxgkddiOpenallocationinfo;

NTSTATUS DxgkddiOpenallocationinfo(
  [in] IN_CONST_HANDLE hDevice,
  [in] IN_CONST_PDXGKARG_OPENALLOCATION pOpenAllocation
)
{...}

パラメーター

[in] hDevice

割り当てがバインドされるグラフィックス コンテキスト デバイスへのハンドル。 ディスプレイ ミニポート ドライバーの DxgkDdiCreateDevice 関数は、DXGKARG_CREATEDEVICE構造体のhDevice メンバー内の Microsoft DirectX グラフィックス カーネル サブシステムにこのハンドルを以前に提供しました。

[in] pOpenAllocation

バインド割り当てに関する情報を含む DXGKARG_OPENALLOCATION 構造体へのポインター。

戻り値

DxgkDdiOpenAllocation は、次のいずれかの値を返します。

リターン コード 説明
STATUS_SUCCESS DxgkDdiOpenAllocation は、hDevice パラメーターが指定したグラフィックス コンテキスト デバイスに割り当てを正常にバインドしました。
STATUS_INVALID_PARAMETER DxgkDdiOpenAllocation に渡されたパラメーターには、完了を妨げるエラーが含まれていました。
STATUS_NO_MEMORY DxgkDdiOpenAllocation では、完了するために必要なメモリを割り当てませんでした。
STATUS_GRAPHICS_DRIVER_MISMATCH ディスプレイ ミニポート ドライバーは、DxgkDdiOpenAllocation (つまり、ディスプレイ ミニポート ドライバーにプライベート データを提供) への呼び出しを開始したユーザー モードのディスプレイ ドライバーと互換性がありません。

注釈

DirectX グラフィックス カーネル サブシステムは、ディスプレイ ミニポート ドライバーの DxgkDdiOpenAllocation 関数を呼び出して、 DxgkDdiCreateAllocation 関数が作成した非デバイス固有の割り当てを 、hDevice パラメーターが指定するグラフィックス コンテキスト デバイスに固有の割り当てにバインドします。 ディスプレイ ミニポート ドライバーは、デバイスに固有の割り当てデータを追跡できるように、デバイスに割り当てをバインドします。

ディスプレイ ミニポート ドライバーは、(同じグラフィックス アダプター上の) 任意のプロセスが作成された任意のデバイスに割り当てをバインドでき、作成プロセスのデバイスにバインドできます。

DxgkDdiOpenAllocation がSTATUS_SUCCESSを返すと、ドライバーは、各割り当てのDXGK_OPENALLOCATIONINFO構造体の hDeviceSpecificAllocation メンバーを NULL 以外の値に設定します。 各割り当てのDXGK_OPENALLOCATIONINFO構造体は、DXGKARG_OPENALLOCATION構造体のpOpenAllocation メンバーが指定する配列の要素です。

ドライバーは、割り当てが作成されたときにのみ、DXGK_OPENALLOCATIONINFO構造体の pPrivateDriverData メンバーに渡される割り当てプライベート ドライバー データを変更できます (これは、DXGKARG_OPENALLOCATION構造体の Flags メンバーのビット フィールドフラグの作成時に示されます)。 ドライバーは、割り当てが開かれたときにのみ割り当てプライベート ドライバー データを読み取ることができると判断する必要があります (つまり、ビット フィールドの 作成 フラグが設定されていない場合)。

DxgkDdiOpenAllocation をページング可能にする必要があります。

要件

要件
サポートされている最小のクライアント Windows Vista
対象プラットフォーム デスクトップ
Header d3dkmddi.h
IRQL PASSIVE_LEVEL

こちらもご覧ください

DXGKARG_CREATEDEVICE

DXGKARG_OPENALLOCATION

DXGK_OPENALLOCATIONINFO

DxgkDdiCreateAllocation

DxgkDdiCreateDevice