次の方法で共有


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

DxgkDdiCollectDbgInfo2 関数は、デバッグ レポートのドライバー情報を出力します。

構文

DXGKDDI_COLLECTDBGINFO2 DxgkddiCollectdbginfo2;

NTSTATUS DxgkddiCollectdbginfo2(
  IN_CONST_HANDLE hAdapter,
  INOUT_PDXGKARG_COLLECTDBGINFO2 pCollectDbgInfo2
)
{...}

パラメーター

hAdapter

[in]ディスプレイ アダプターに関連付けられているコンテキスト ブロックへのハンドル。 ディスプレイ ミニポート (KMD) は、DxgkDdiAddDeviceの出力パラメーター 出力パラメーター 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->理由バグ チェック コードを受け取ります。 ドライバーは、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)
ヘッダー d3dkmddi.h
IRQL PASSIVE_LEVEL (解説を参照)

関連項目

DXGKARG_COLLECTDBGINFO2

DxgkDdiCollectDbgInfo