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