структура 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 |