共用方式為


DXGKARG_COLLECTDIAGNOSTICINFO結構(dispmprt.h)

DXGKDDI_COLLECTDIAGNOSTICINFO 回呼函式用來收集私人驅動程序資訊,原因有各種原因。

例如,OS 會在需要診斷資訊時呼叫DXGKDDI_COLLECTDIAGNOSTICINFO回呼函式,同時提供所要求的信息類型(DXGK_DIAGNOSTICINFO_TYPE)。 驅動程序應該收集所有私人資訊,以調查問題,並將其提交至OS。

語法

typedef struct _DXGKARG_COLLECTDIAGNOSTICINFO {
  [in, optional]  HANDLE                   hAdapter;
  [in]            DXGK_DIAGNOSTICINFO_TYPE Type;
                  CHAR                     BucketingString[DXGK_DUMP_BUCKETING_BUFFER_SIZE];
                  CHAR                     DescriptionString[DXGK_DUMP_DESCRIPTION_BUFFER_SIZE];
  union {
    [out, optional] PVOID pReserved;
  };
  [in]            UINT                     BufferSizeIn;
  [out]           UINT                     BufferSizeOut;
  [out]           PVOID                    pBuffer;
} DXGKARG_COLLECTDIAGNOSTICINFO;

成員

[in, hAdapter

與顯示配接器相關聯的內容區塊句柄。

在 WDDM 2.6 之前,顯示器迷你埠驅動程式的 DxgkDdiAddDevice 函式會將此句柄提供給 DirectX 圖形核心子系統。 這個參數是選擇性的,如果驅動程式無法提供OS的句柄,則可以是NULL。

[in] Type

DXGK_DIAGNOSTICINFO_TYPE 列舉值,指出驅動程式需要收集的信息類型。

[out] BucketingString[DXGK_DUMP_BUCKETING_BUFFER_SIZE]

為驅動程式應該用來識別問題以供貯體用途之字元串使用的固定大小緩衝區。 此字串在驅動程式版本之間應該相同問題保持一致,因此不應包含來源參考、驅動程式版本或實例特定詳細數據等元素,例如圍欄編號或目標標識符。 它可能包含失敗的內部子元件的識別碼,或模組名稱等資訊,例如 mismatched_driver_ihvxseries.sys。 有效的代碼是 0x21-0x7E,而且應該使用底線(0x5f),而不是空間(0x20)。

[out, DescriptionString[DXGK_DUMP_DESCRIPTION_BUFFER_SIZE]

為驅動程式應該用來描述實例特定詳細數據而未用於貯體之字串提供的固定大小緩衝區,但可用來提供特定問題的詳細數據,例如 mismatched_driver_versions_kmd_10.22.1111.1121,_ihvxseries:10.22.1111.1122。 有效的代碼是 0x21-0x7E,而且應該使用底線(0x5f),而不是空間(0x20)。

[out, pReserved

未命名聯集中 VOID 的指標,保留為 OS 可能針對某些 型別所提供之類型特定自變數的佔位元元。 對於不需要任何擴充資訊 類型而言,此值為 NULL。

[in] BufferSizeIn

提供OS配置緩衝區大小的變數,以位元組為單位。 針對 TypeDXGK_DI_ADDDEVICE 值,且大小 DXGK_DI_STARTDEVICE 大約0x80000。

[out] BufferSizeOut

驅動程式應該以填滿其私用數據的實際大小來更新的變數。 如果未提供私人數據,驅動程序應該將0指派給變數。

[out] pBuffer

接收私人驅動程序數據的緩衝區指標。

要求

要求 價值
最低支援的用戶端 Windows 10 版本 1903
標頭 dispmprt.h

另請參閱

DXGK_DIAGNOSTICINFO_TYPE

DXGKDDI_COLLECTDIAGNOSTICINFO

DxgkDdiAddDevice

DxgkDdiGetDisplayStateIntrusive

DxgkDdiGetDisplayStateNonIntrusive