Поделиться через


структура DXGKARG_COLLECTDIAGNOSTICINFO (dispmprt.h)

Используется функцией обратного вызова DXGKDDI_COLLECTDIAGNOSTICINFO для сбора сведений о частном драйвере по различным причинам.

Например, ОС вызовет функцию обратного вызова DXGKDDI_COLLECTDIAGNOSTICINFO при необходимости диагностических сведений, предоставляя тип запрашиваемой информации (DXGK_DIAGNOSTICINFO_TYPE). Драйвер должен собирать все частные сведения, чтобы изучить проблему и отправить его в ОС.

Синтаксис

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. Этот параметр является необязательным и может иметь значение 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 в неназванном союзе, зарезервированный в качестве заполнителя для указателя на аргумент типа, который ОС может предоставить для некоторых типов. Это значение равно NULL для типов , которые не требуют дополнительной информации.

[in] BufferSizeIn

Переменная, предоставляющая размер выделенного буфера ОС в байтах. Для типа значение DXGK_DI_ADDDEVICE и DXGK_DI_STARTDEVICE размер будет примерно 0x80000.

[out] BufferSizeOut

Переменная, которую драйвер должен обновить с фактическим размером, заполненным частными данными. Если частные данные не предоставлены, драйвер должен назначить 0 переменной.

[out] pBuffer

Указатель на буфер, получающий данные частного драйвера.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 10 версии 1903
заголовка dispmprt.h

См. также

DXGK_DIAGNOSTICINFO_TYPE

DXGKDDI_COLLECTDIAGNOSTICINFO

DxgkDdiAddDevice

DxgkDdiGetDisplayStateIntrusive

DxgkDdiGetDisplayStateNonIntrusive