Compartir a través de


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

Consulte también

DXGK_TDR_TYPE

dxgkDdiCollectDbgInfo

dxgkDdiCollectDbgInfo2