Compartir a través de


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

Consulte también

DXGK_TDR_TYPE

DxgkDdiCollectDbgInfo

DxgkDdiCollectDbgInfo2