estructura DXGKARG_COLLECTDBGINFO2 (d3dkmddi.h)
La estructura DXGKARG_COLLECTDBGINFO describe información de un informe de depuración cuando se llama a DxgkDdiCollectDbgInfo2 .
Sintaxis
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;
Miembros
Reason
[in] Código de comprobación de errores al que se va a devolver información de depuración en el búfer al que apunta pBuffer . Estos son valores posibles:
Valor | Significado |
---|---|
VIDEO_TDR_TIMEOUT_DETECTED 0x117 | Una operación DxgkDdiResetEngine ha restablecido un adaptador lógico. |
VIDEO_ENGINE_TIMEOUT_DETECTED 0x141 | Una operación DxgkDdiResetEngine ha restablecido uno o varios nodos dentro de un adaptador físico. Disponible a partir de Windows 8. |
pBuffer
[out] Puntero a un búfer que recibe la información de depuración por el motivo que especifica Reason .
BufferSize
Tamaño máximo, en bytes, al que se va a copiar el búfer al que apunta pBuffer .
pExtension
Puntero a una estructura de DXGKARG_COLLECTDBGINFO_EXT asignada por el sistema operativo que el controlador rellena opcionalmente con información de extensión de depuración.
TdrType
[in] Valor DXGK_TDR_TYPE que especifica el tipo de TDR que se produjo.
TdrPayloadSize
[in] Tamaño, en bytes, de la carga de TDR a la que apunta TdrPayload .
TdrPayload
[in] Puntero a un búfer que contiene la carga específica de determinados valores TdrType , como se indica en la tabla siguiente. Este búfer puede ser NULL.
TdrType | Estructura asociada |
---|---|
DXGK_TDR_TYPE_ENGINE_TIMEOUT | TdrPayload apunta a una estructura de DXGK_TDR_PAYLOAD_ENGINE_TIMEOUT . |
DXGK_TDR_TYPE_VSYNC_TIMEOUT | TdrPayload apunta a una estructura de DXGK_TDR_PAYLOAD_VSYNC_TIMEOUT . |
Comentarios
El diseño de DXGKARG_COLLECTDBGINFO2 es compatible con versiones anteriores con DXGKARG_COLLECTDBGINFO para permitir que la implementación dxgkDdiCollectDbgInfo2 vuelva a usar los asistentes de DxgkDdiCollectDbgInfo existentes según sea necesario. Por este motivo, los campos Reason, pBuffer, BufferSize y pExtension tienen la misma semántica.
Para algunos tipos de TDR (especificados en TdrType), el sistema operativo proporciona información adicional en el búfer TdrPayload de bytes TdrPayloadSize . Puede ser NULL y se espera que el controlador controle este caso sin bloqueos.
Cuando la carga no es NULL, se puede convertir en una estructura que se corresponda con el tipo de TDR. El sistema operativo podría aumentar estas estructuras de forma compatible con versiones anteriores, agregando nuevos campos al final. El controlador debe comprobar TdrPayloadSize antes de acceder a los campos de TdrPayload para asegurarse de que el sistema operativo implementa la versión de carga deseada o posterior.
La memoria a la que apunta TdrPayload solo es válida durante la llamada a DxgkddiCollectDbgInfo2 . El controlador no debe almacenar un puntero a TdrPayload más allá del final de la llamada a DxgkddiCollectDbgInfo2 .
Para más información, consulte Mejoras de depuración de TDR.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 11, versión 24H2 (WDDM 3.2) |
Encabezado | d3dkmddi.h |