DXGKDDI_COLLECTDIAGNOSTICINFO コールバック関数 (dispmprt.h)

DxgkDdiCollectDiagnosticInfo コールバック ルーチンは、DXGK_DIAGNOSTICINFO_TYPEで指定された理由でプライベート ドライバー情報を収集します。

Windows 10 バージョン 1903 では、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の呼び出しの間にいつでもパッシブ レベルで呼び出され、同期ゼロ レベルのをサポートする必要があります。 収集されたデータには、プライベート ユーザー情報を含めることはできません。

WDDM 2.7 以降のドライバーは、ブラック スクリーン ブラック ボックス データ収集の DXGK_DI_BLACKSCREENDXGK_DIAGNOSTICINFO_TYPE 列挙型をサポートするために必要です。

黒い画面のシナリオでは、OS はまず、DxgkDdiGetDisplayStateNonIntrusive 呼び出して、この DDI を呼び出してブラック ボックス情報を収集する前に DxgkDdiGetDisplayStateIntrusive を して、ドライバーからホワイト ボックス データを収集します。

pCollectDiagnosticInfo->BucketingString を使用して、ブラック ボックス データを可能な限りバケット化することをお勧めします。 BufferSizeIn 入力バッファーのサイズがすべてのブラック ボックス データに対して十分でない場合、ドライバーは、ほとんどの黒い画面の根本原因分析で最も重要ではないデータを除外する際に独自のトレードオフを行う必要があります。

必要条件

要件 価値
サポートされる最小クライアント Windows 10 バージョン 1903
ヘッダー dispmprt.h
IRQL PASSIVE_LEVEL

関連項目

DXGKARG_COLLECTDIAGNOSTICINFO

DxgkDdiAddDevice の

DxgkDdiStartDevice の