次の方法で共有


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

DxgkcbAcquirehandledata 、割り当てへの参照を取得します。

構文

DXGKCB_ACQUIREHANDLEDATA DxgkcbAcquirehandledata;

VOID * DxgkcbAcquirehandledata(
  [in]  IN_CONST_PDXGKARGCB_GETHANDLEDATA unnamedParam1,
  [out] PDXGKARG_RELEASE_HANDLE unnamedParam2
)
{...}

パラメーター

[in] unnamedParam1

DxgkcbCreatecontextallocationによって返される割り当てハンドル記述する DXGKARGCB_GETHANDLEDATA 構造体へのポインター。

[out] unnamedParam2

取得した割り当てへの参照の有効期間を管理するカーネル モード ドライバー (KMD) のリリース ハンドルへのポインター。 KMD は、割り当て参照 解放するために DxgkcbReleasehandledata を呼び出すときに、このハンドルを使用します。

戻り値

DxgkcbAcquirehandledata は、KMD が参照を要求した割り当てに対するハンドルを返します。 KMD は、割り当てまたはリソースに対する後続の操作にこのハンドルを使用します。

備考

アプリケーションまたはユーザー モード ドライバーは、D3DKMTDestroyAllocation をいつでも呼び出して、割り当てハンドルを破棄できます。 割り当て破棄には、割り当ての作成時に Dxgkrnl 返された割り当てオブジェクトを削除する要求が含まれるため、KMD は解放されたメモリへの古いポインターで終わる可能性があります。 DxgkcbAcquirehandledata DxgkcbReleasehandledata すると、ドライバーは Dxgkrnl オブジェクトの参照を保持し、リリース呼び出しが行われるまで Dxgkrnl 割り当ておよび KMD 関連オブジェクトが破棄されないようにすることができます。

DXGKCB_XXX 関数は、Dxgkrnlによって実装されます。 このコールバック関数を使用するには、DXGKARGCB_GETHANDLEDATA のメンバーを設定し、DXGKRNL_INTERFACEを介して DxgkCbAcquireHandleData を呼び出します。

必要条件

要件 価値
サポートされる最小クライアント Windows 10 (WDDM 2.0)
ヘッダー d3dkmddi.h
IRQL <= APC_LEVEL

関連項目

DXGKARGCB_GETHANDLEDATA

DxgkcbCreatecontextallocation

DxgkcbReleasehandledataする

DXGKRNL_INTERFACE