DXGKDDI_COLLECTDBGINFO2 コールバック関数 (d3dkmddi.h)
DxgkDdiCollectDbgInfo2 関数は、デバッグ レポートのドライバー情報を出力します。
構文
DXGKDDI_COLLECTDBGINFO2 DxgkddiCollectdbginfo2;
NTSTATUS DxgkddiCollectdbginfo2(
IN_CONST_HANDLE hAdapter,
INOUT_PDXGKARG_COLLECTDBGINFO2 pCollectDbgInfo2
)
{...}
パラメーター
hAdapter
[入力]ディスプレイ アダプターに関連付けられているコンテキスト ブロックへのハンドル。 ディスプレイ ミニポート (KMD) は、DxgkDdiAddDevice の MiniportDeviceContext 出力パラメーターで Dxgkrnl にこのハンドルを提供していました。
pCollectDbgInfo2
[入力/出力]デバッグ レポートの情報を含む DXGKARG_COLLECTDBGINFO2 構造体へのポインター。
戻り値
DxgkDdiCollectDbgInfo2 は、次のいずれかの値を返します。
リターン コード | 説明 |
---|---|
STATUS_SUCCESS | DxgkDdiCollectDbgInfo2 がデバッグ レポートのドライバー情報を正常に出力しました。または、 OS は pBuffer が指すバッファー内のコンテンツを無視し、 DxgkDdiCollectDbgInfo2 からデバッグ レポートに情報を追加しませんでした。 |
STATUS_NO_MEMORY | DxgkDdiCollectDbgInfo2 では、完了するために必要なメモリを割り当てられませんでした。 |
STATUS_UNSUCCESSFUL | 別のエラーにより、ドライバーが有効なデバッグ情報を収集できませんでした。 |
注釈
Dxgkrnl は、OS がドライバー関連のデバッグ レポートを生成しようとするたびに、 KMD の DxgkDdiCollectDbgInfo2 関数を呼び出します。 DxgkDdiCollectDbgInfo2 は、 タイムアウト検出と回復 (TDR) が機能 する直前、または OS バグ チェックの直前に呼び出される場合があります。 DxgkDdiCollectDbgInfo2 はできるだけ早くを返す必要がありますが、ドライバーがこの関数に費やすことができるシステム定義の最大時間はありません。
DxgkDdiCollectDbgInfo2 は、 DxgkDdiCollectDbgInfo よりも TDR の根本原因に関する詳細情報を受け取ります。 KMD は、TDR を担当する GPU の部分に関連する状態を保存できます。
- WDDM 3.2 ドライバーは DxgkddiCollectDbgInfo2 を実装するために必要ありません。この場合、OS は DxgkddiCollectDbgInfo を呼び出します。
KMD はデバッグ情報を収集する必要があります。 DxgkDdiCollectDbgInfo2 が呼び出されると、ドライバーは pCollectDbgInfo2-Reason> でバグ チェック コードを受け取り、デバッグ レポートに必要な情報の種類を示します。 ドライバーは、pCollectDbgInfo2-pBuffer> が指すバッファーに必要なデバッグ情報をコピーします。 ドライバーがコピーできる情報の最大バイト数は、pCollectDbgInfo2-BufferSize> によって指定されます。
DxgkDdiCollectDbgInfo は 通常、未定義の IRQL で実行されます。 ただし、pCollectDbgInfo2-Reason> が (アダプター全体のリセットを示すために) VIDEO_TDR_TIMEOUT_DETECTEDまたはVIDEO_ENGINE_TIMEOUT_DETECTED (物理アダプター内の 1 つ以上のノードのリセットを示すためにWindows 8以降で使用可能) に設定されている場合、ドライバーは DxgkDdiCollectDbgInfo2 がページング可能であり、IRQL = PASSIVE_LEVELで実行され、同期ゼロ レベルをサポートする必要があります。
詳細については、「 TDR デバッグの機能強化」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 11バージョン 24H2 (WDDM 3.2) |
Header | d3dkmddi.h |
IRQL | PASSIVE_LEVEL (「解説」を参照) |