DXGKDDI_COLLECTDIAGNOSTICINFO コールバック関数 (dispmprt.h)
DxgkDdiCollectDiagnosticInfo コールバック ルーチンは、DXGK_DIAGNOSTICINFO_TYPEによって指定された理由でプライベート ドライバー情報 を収集します。
バージョン 1903 Windows 10では、関数が DxgkDdiAddDevice または DxgkDdiStartDevice の呼び出しに失敗した場合に、ドライバーが呼び出されて個人情報が収集されます。
構文
DXGKDDI_COLLECTDIAGNOSTICINFO DxgkddiCollectdiagnosticinfo;
NTSTATUS DxgkddiCollectdiagnosticinfo(
[in] IN_CONST_PDEVICE_OBJECT PhysicalDeviceObject,
[in, out] INOUT_PDXGKARG_COLLECTDIAGNOSTICINFO pCollectDiagnosticInfo
)
{...}
パラメーター
[in] PhysicalDeviceObject
ディスプレイ アダプターを識別する物理デバイス オブジェクト (PDO) へのポインター。
[in, out] pCollectDiagnosticInfo
ドライバーによって収集される情報を記述する DXGKARG_COLLECTDIAGNOSTICINFO 構造体へのポインター。
戻り値
プライベート データ情報が正常に収集された場合は、STATUS_SUCCESSを返します。 それ以外の場合は、次のいずれかのエラー コードが返されます。
エラー コード | 意味 |
---|---|
STATUS_DRIVER_INTERNAL_ERROR | ドライバー内で一般的な SW エラーが発生しました。 |
STATUS_ACCESS_DENIED | 現在、ハードウェアは他のスレッドによって使用されており、この DDI はそれにアクセスできません。 |
STATUS_DEVICE_HARDWARE_ERROR | 一般的な HW エラーが発生しました。 |
STATUS_DEVICE_POWERED_OFF | デバイスの電源がオフになっています。 |
注釈
この関数は、 DXgkDdiAddDevice と DxgkDdiStartDevice の呼び出しの間にいつでも PASSIVE レベルで呼び出され、 同期ゼロ レベルをサポートする必要があります。 収集されたデータには、プライベート ユーザー情報を含めることはできません。
WDDM 2.7 以降のドライバーは、黒い画面のブラック ボックス データ収集の DXGK_DI_BLACKSCREENDXGK_DIAGNOSTICINFO_TYPE 列挙型をサポートするために必要です。
黒い画面のシナリオでは、この DDI を呼び出してブラック ボックス情報を収集する前に、 まず DxgkDdiGetDisplayStateNonIntrusive と DxgkDdiGetDisplayStateIntrusive を呼び出して、ドライバーからホワイト ボックス データを収集します。
可能な場合は、pCollectDiagnosticInfo-BucketingString> を使用してブラック ボックス データをバケット化することをお勧めします。 BufferSizeIn 入力バッファーのサイズがすべてのブラック ボックス データに対して十分でない場合、ドライバーは、ほとんどの黒い画面の根本原因分析で最も重要ではないデータを除外する際に独自のトレードオフを行う必要があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 10 バージョン 1903 |
Header | dispmprt.h |
IRQL | PASSIVE_LEVEL |
こちらもご覧ください
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示