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 |
関連項目
DxgkcbCreatecontextallocationの
DxgkcbReleasehandledataをする