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


структура DXGKARG_COLLECTDBGINFO2 (d3dkmddi.h)

Структура DXGKARG_COLLECTDBGINFO описывает сведения для отчета об отладке при вызове DxgkDdiCollectDbgInfo2 .

Синтаксис

typedef struct _DXGKARG_COLLECTDBGINFO2 {
  UINT                       Reason;
  VOID                       *pBuffer;
  SIZE_T                     BufferSize;
  DXGKARG_COLLECTDBGINFO_EXT *pExtension;
  DXGK_TDR_TYPE              TdrType;
  UINT                       TdrPayloadSize;
  VOID                       *TdrPayload;
} DXGKARG_COLLECTDBGINFO2;

Члены

Reason

[in] Код проверка ошибок, для которого возвращается отладочная информация в буфере, на который указывает pBuffer. Возможные значения:

Значение Значение
0x117 VIDEO_TDR_TIMEOUT_DETECTED Операция DxgkDdiResetEngine сбрасывает логический адаптер.
0x141 VIDEO_ENGINE_TIMEOUT_DETECTED Операция DxgkDdiResetEngine сбрасывает один или несколько узлов в физическом адаптере. Доступно начиная с Windows 8.

pBuffer

[out] Указатель на буфер, который получает отладочную информацию по причине, указанной Причиной .

BufferSize

Максимальный размер в байтах для копирования в буфер, на который указывает pBuffer .

pExtension

Указатель на структуру, выделенную ОС DXGKARG_COLLECTDBGINFO_EXT , которую драйвер при необходимости заполняет сведениями о расширении отладки.

TdrType

[in] Значение DXGK_TDR_TYPE , указывающее тип произошло TDR.

TdrPayloadSize

[in] Размер (в байтах) полезных данных TDR, на которые указывает TdrPayload .

TdrPayload

[in] Указатель на буфер, содержащий полезные данные, относящиеся к определенным значениям TdrType , как показано в следующей таблице. Этот буфер может иметь значение NULL.

TdrType Связанная структура
DXGK_TDR_TYPE_ENGINE_TIMEOUT TdrPayload указывает на структуру DXGK_TDR_PAYLOAD_ENGINE_TIMEOUT .
DXGK_TDR_TYPE_VSYNC_TIMEOUT TdrPayload указывает на структуру DXGK_TDR_PAYLOAD_VSYNC_TIMEOUT .

Комментарии

Макет DXGKARG_COLLECTDBGINFO2 обратно совместим с DXGKARG_COLLECTDBGINFO , что позволяет реализации DxgkDdiCollectDbgInfo2 повторно использовать существующие вспомогательные функции DxgkDdiCollectDbgInfo при необходимости. По этой причине поля Reason, pBuffer, BufferSize и pExtension имеют одинаковую семантику.

Для некоторых типов TDR (указанных в TdrType) ОС предоставляет дополнительные сведения в буферЕ TdrPayload байтов TdrPayloadSize . Он может иметь значение NULL, и драйвер должен обрабатывать этот случай без сбоя.

Если полезные данные не равно NULL, их можно привести к структуре, соответствующей типу TDR. Операционная система может расширять эти структуры в обратной совместимости, добавляя новые поля в конце. Драйвер должен проверка TdrPayloadSize перед доступом к полям TdrPayload, чтобы убедиться, что ОС реализует нужную версию полезных данных или более позднюю.

Память, на которую указывает TdrPayload , действительна только во время вызова DxgkddiCollectDbgInfo2 . Драйвер не должен хранить указатель на TdrPayload после завершения вызова DxgkddiCollectDbgInfo2 .

Дополнительные сведения см. в статье Об улучшениях отладки TDR.

Требования

Требование Значение
Минимальная версия клиента Windows 11 версии 24H2 (WDDM 3.2)
Верхняя часть d3dkmddi.h

См. также раздел

DXGK_TDR_TYPE

DxgkDdiCollectDbgInfo

DxgkDdiCollectDbgInfo2