DXGKCB_ENUMHANDLECHILDREN コールバック関数 (d3dkmddi.h)
DXGKCB_ENUMHANDLECHILDREN は、特定のリソースに関連付けられている割り当てを一度に 1 つずつ列挙します。
構文
DXGKCB_ENUMHANDLECHILDREN DxgkcbEnumhandlechildren;
D3DKMT_HANDLE DxgkcbEnumhandlechildren(
[in] IN_CONST_PDXGKARGCB_ENUMHANDLECHILDREN unnamedParam1
)
{...}
パラメーター
[in] unnamedParam1
取得する親リソースと子割り当てのインデックスを記述する DXGKARGCB_ENUMHANDLECHILDREN構造体への ポインター。
戻り値
DXGKCB_ENUMHANDLECHILDRENは、pData が記述する子割り当てに対して Dxgkrnl 固有のハンドルを返します。 ハンドルのデバイス固有の データ を取得するには、ディスプレイ ミニポート ドライバーは 、DXGKCB_GETHANDLEDATA 関数を呼び出す必要があります。
DXGKCB_ENUMHANDLECHILDRENは、DXGKARGCB_ENUMHANDLECHILDREN 構造体の Index メンバーで指定された子割り当てインデックス値が、親リソースに関連付けられている割り当ての数を超えた場合に NULL ハンドルを返します。 DXGKCB_ENUMHANDLECHILDRENが予期せず NULL ハンドルを返した場合、DirectX グラフィックス カーネル サブシステムは、次のような理由により、親リソースへのハンドルを解決できませんでした。
- 悪意のある攻撃またはその他のバグが原因で、無効なハンドルがユーザー モード ディスプレイ ドライバーから受信されました。
- 割り当てには有効期間の問題がありました。
NULL ハンドルが予期せず返された場合、ディスプレイ ミニポート ドライバーは、STATUS_INVALID_HANDLEで現在実行中の DDI 関数に失敗する必要があります。
注釈
ディスプレイ ミニポート ドライバーは、リソースに関連付けられているすべての割り当てを列挙するループ内の DXGKCB_ENUMHANDLECHILDREN を呼び出すことができます。
割り当てハンドルインデックスは 0 から始まります。 ディスプレイ ミニポート ドライバーが pData-Index> を 0 に設定した場合、DXGKCB_ENUMHANDLECHILDRENは最初の割り当てハンドルを返します。Index が 1 に設定されている場合、DXGKCB_ENUMHANDLECHILDRENは 2 番目の割り当てハンドルを返します。 Index がリソースに関連付けられている割り当ての数より大きい場合、DXGKCB_ENUMHANDLECHILDRENは NULL を返します。
DXGKCB_XXX 関数は Dxgkrnl によって実装されます。 このコールバック関数を使用するには、DXGKARGCB_ENUMHANDLECHILDRENの適切なメンバーを設定し、DXGKRNL_INTERFACEを介して DxgkCbEnumHandleChildren を呼び出します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista (WDDM 1.0) |
対象プラットフォーム | デスクトップ |
Header | d3dkmddi.h (D3dkmddi.h を含む) |
IRQL | PASSIVE_LEVEL |