次の方法で共有


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

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

構文

DXGKDDI_COLLECTDBGINFO DxgkddiCollectdbginfo;

NTSTATUS DxgkddiCollectdbginfo(
  [in]     IN_CONST_HANDLE hAdapter,
  [in/out] IN_CONST_PDXGKARG_COLLECTDBGINFO pCollectDbgInfo
)
{...}

パラメーター

[in] hAdapter

ディスプレイ アダプターに関連付けられているコンテキスト ブロックへのハンドル。 ディスプレイ ミニポート (KMD) は、DxgkDdiAddDeviceの出力パラメーター 出力パラメーター Dxgkrnl するために、このハンドル提供しました。

[in/out] pCollectDbgInfo

デバッグ レポートの情報を含む DXGKARG_COLLECTDBGINFO 構造体へのポインター。

戻り値

DxgkDdiCollectDbgInfo は、次のいずれかの値を返します。

リターン コード 形容
STATUS_SUCCESS DxgkDdiCollectDbgInfo デバッグ レポートのドライバー情報を正常に出力します。または、OS は、pBuffer が指すバッファー内のコンテンツを無視し、デバッグ レポートに DxgkDdiCollectDbgInfo から情報を追加しませんでした。
STATUS_NO_MEMORY DxgkDdiCollectDbgInfo 完了するために必要なメモリを割り当てられませんでした。
STATUS_UNSUCCESSFUL 別のエラーにより、ドライバーが有効なデバッグ情報を収集できませんでした。

備考

Dxgkrnl は、OS がドライバー関連のデバッグ レポートを生成しようとするたびに、KMD の DxgkDdiCollectDbgInfo 関数を呼び出します。 DxgkDdiCollectDbgInfo は、タイムアウトの検出と回復 (TDR) が動作 直前、または OS バグ チェックの直前に呼び出される場合があります。 DxgkDdiCollectDbgInfo はできるだけ早く戻る必要がありますが、ドライバーがこの関数に費やすことができるシステム定義の最大時間はありません。

KMD はデバッグ情報を収集する必要があります。 DxgkDdiCollectDbgInfo 呼び出されると、ドライバーは、デバッグ レポートに必要な情報の種類を示す pCollectDbgInfo->理由バグ チェック コードを受け取ります。 ドライバーは、pCollectDbgInfo->pBuffer が指 バッファーに必要なデバッグ情報をコピーします。 ドライバーがコピーできる情報の最大バイト数は、pCollectDbgInfo->BufferSizeによって指定されます。

DxgkDdiCollectDbgInfo 、一般に未定義の IRQL で実行されます。 ただし、pCollectDbgInfo- >ReasonVIDEO_TDR_TIMEOUT_DETECTED (アダプター全体のリセットを示すために) または VIDEO_ENGINE_TIMEOUT_DETECTED (物理アダプター内の 1 つ以上のノードのリセットを示すために Windows 8 以降で使用可能) に設定されている場合、ドライバーは DxgkDdiCollectDbgInfo ページング可能であることを確認する必要があります。 IRQL = PASSIVE_LEVELで実行され、同期ゼロ レベル をサポートします。

必要条件

要件 価値
サポートされる最小クライアント Windows Vista
ターゲット プラットフォーム デスクトップ
ヘッダー d3dkmddi.h
IRQL PASSIVE_LEVEL (解説を参照)

関連項目

DXGKARG_COLLECTDBGINFO

DxgkDdiAddDevice

DxgkDdiResetFromTimeoutする