Compartilhar via


estrutura DXGKARG_COLLECTDBGINFO2 (d3dkmddi.h)

A estrutura DXGKARG_COLLECTDBGINFO descreve as informações de um relatório de depuração quando DxgkDdiCollectDbgInfo2 é chamado.

Sintaxe

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;

Membros

Reason

[in] O código marcar bug para o qual retornar informações de depuração no buffer para o qual pBuffer aponta. Estes são valores possíveis:

Valor Significado
VIDEO_TDR_TIMEOUT_DETECTED 0x117 Uma operação DxgkDdiResetEngine redefiniu um adaptador lógico.
VIDEO_ENGINE_TIMEOUT_DETECTED 0x141 Uma operação DxgkDdiResetEngine redefiniu um ou mais nós em um adaptador físico. Disponível a partir de Windows 8.

pBuffer

[out] Um ponteiro para um buffer que recebe as informações de depuração pelo motivo especificado por Reason .

BufferSize

O tamanho máximo, em bytes, para o qual o pBuffer aponta para o buffer.

pExtension

Um ponteiro para uma estrutura de DXGKARG_COLLECTDBGINFO_EXT alocada pelo sistema operacional que o driver preenche opcionalmente com informações de extensão de depuração.

TdrType

[in] Um valor DXGK_TDR_TYPE que especifica o tipo de TDR que ocorreu.

TdrPayloadSize

[in] O tamanho, em bytes, da carga TDR para a qual o TdrPayload aponta.

TdrPayload

[in] Um ponteiro para um buffer que contém a carga específica para determinados valores TdrType , conforme indicado na tabela a seguir. Esse buffer pode ser NULL.

TdrType Estrutura associada
DXGK_TDR_TYPE_ENGINE_TIMEOUT TdrPayload aponta para uma estrutura de DXGK_TDR_PAYLOAD_ENGINE_TIMEOUT .
DXGK_TDR_TYPE_VSYNC_TIMEOUT TdrPayload aponta para uma estrutura de DXGK_TDR_PAYLOAD_VSYNC_TIMEOUT .

Comentários

O layout de DXGKARG_COLLECTDBGINFO2 é compatível com versões anteriores com DXGKARG_COLLECTDBGINFO para permitir que a implementação DxgkDdiCollectDbgInfo2 reutilize os auxiliares DxgkDdiCollectDbgInfo existentes conforme necessário. Por esse motivo, os campos Reason, pBuffer, BufferSize e pExtension têm a mesma semântica.

Para alguns tipos de TDR (especificados em TdrType), o sistema operacional fornece informações adicionais no buffer TdrPayload de bytes TdrPayloadSize . Ele pode ser NULL, e espera-se que o driver lide com esse caso sem bater.

Quando o conteúdo não é NULL, ele pode ser convertido em uma estrutura que corresponde ao tipo TDR. O sistema operacional pode aumentar essas estruturas de maneira compatível com versões anteriores, adicionando novos campos no final. O driver deve marcar TdrPayloadSize antes de acessar os campos TdrPayload para garantir que o sistema operacional implemente a versão de conteúdo desejada ou posterior.

A memória para a qual o TdrPayload aponta é válida apenas durante a chamada DxgkddiCollectDbgInfo2 . O driver não deve armazenar um ponteiro para TdrPayload após o final da chamada DxgkddiCollectDbgInfo2 .

Para obter mais informações, consulte Melhorias de depuração de TDR.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 11, versão 24H2 (WDDM 3.2)
Cabeçalho d3dkmddi.h

Confira também

DXGK_TDR_TYPE

DxgkDdiCollectDbgInfo

DxgkDdiCollectDbgInfo2