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 デバイスの電源がオフになっています。

注釈

この関数は、 DXgkDdiAddDeviceDxgkDdiStartDevice の呼び出しの間にいつでも PASSIVE レベルで呼び出され、 同期ゼロ レベルをサポートする必要があります。 収集されたデータには、プライベート ユーザー情報を含めることはできません。

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

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

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

要件

要件
サポートされている最小のクライアント Windows 10 バージョン 1903
Header dispmprt.h
IRQL PASSIVE_LEVEL

こちらもご覧ください

DXGKARG_COLLECTDIAGNOSTICINFO

DxgkDdiAddDevice

DxgkDdiStartDevice