estructura DXGKARG_COLLECTDBGINFO2 (d3dkmddi.h)
La estructura DXGKARG_COLLECTDBGINFO describe la 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] El código de comprobación de errores para el 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 por el que Reason especifica.
BufferSize
Tamaño máximo, en bytes, para copiar en el búfer al que pBuffer apunta.
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 TdrPayload apunta.
TdrPayload
[in] Puntero a un búfer que contiene la carga específica de ciertos valores de 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. |
Observaciones
El diseño de DXGKARG_COLLECTDBGINFO2 es compatible con versiones anteriores con DXGKARG_COLLECTDBGINFO para permitir que la implementación de DxgkDdiCollectDbgInfo2 vuelva a usar DxgkDdiCollectDbgInfo según sea necesario. Por este motivo, el Reason, pBuffer, BufferSizey campos 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 de TdrPayload de TdrPayloadSize bytes. Puede ser NULL y se espera que el controlador controle este caso sin bloqueo.
Cuando la carga no es NULL, se puede convertir en una estructura que corresponda al tipo TDR. El sistema operativo podría aumentar estas estructuras de una manera 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 TdrPayload apunta solo es válida durante la llamada DxgkddiCollectDbgInfo 2. El controlador no debe almacenar un puntero para TdrPayload pasado el final de llamada DxgkddiCollectDbgInfo2.
Para obtener más información, consulte mejoras de depuración de TDR.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Windows 11, versión 24H2 (WDDM 3.2) |
encabezado de | d3dkmddi.h |