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 |