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 の MiniportDeviceContext 出力パラメーターで 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-Reason> でバグ チェック コードを受け取り、デバッグ レポートに必要な情報の種類を示します。 ドライバーは、pCollectDbgInfo-pBuffer> が指すバッファーに必要なデバッグ情報をコピーします。 ドライバーがコピーできる情報の最大バイト数は、pCollectDbgInfo-BufferSize> によって指定されます。
DxgkDdiCollectDbgInfo は 通常、未定義の IRQL で実行されます。 ただし、pCollectDbgInfo-Reason> が (アダプター全体のリセットを示すために) VIDEO_TDR_TIMEOUT_DETECTEDまたはVIDEO_ENGINE_TIMEOUT_DETECTED (物理アダプター内の 1 つ以上のノードのリセットを示すためにWindows 8以降で使用可能) に設定されている場合、ドライバーは DxgkDdiCollectDbgInfo がページング可能であり、IRQL = PASSIVE_LEVELで実行され、同期ゼロ レベルをサポートしていることを確認する必要があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista |
対象プラットフォーム | デスクトップ |
Header | d3dkmddi.h |
IRQL | PASSIVE_LEVEL (「解説」を参照) |