Compartilhar via


estrutura DXGKARG_COLLECTDIAGNOSTICINFO (dispmprt.h)

Usada pela função de retorno de chamada DXGKDDI_COLLECTDIAGNOSTICINFO para coletar informações de driver privado por vários motivos.

Por exemplo, o sistema operacional chamará a função de retorno de chamada DXGKDDI_COLLECTDIAGNOSTICINFO quando as informações de diagnóstico forem necessárias, fornecendo ao mesmo tempo o tipo de informação que está sendo solicitada (DXGK_DIAGNOSTICINFO_TYPE). O driver deve coletar todas as informações privadas para investigar o problema e enviá-lo ao sistema operacional.

Sintaxe

typedef struct _DXGKARG_COLLECTDIAGNOSTICINFO {
  [in, optional]  HANDLE                   hAdapter;
  [in]            DXGK_DIAGNOSTICINFO_TYPE Type;
                  CHAR                     BucketingString[DXGK_DUMP_BUCKETING_BUFFER_SIZE];
                  CHAR                     DescriptionString[DXGK_DUMP_DESCRIPTION_BUFFER_SIZE];
  union {
    [out, optional] PVOID pReserved;
  };
  [in]            UINT                     BufferSizeIn;
  [out]           UINT                     BufferSizeOut;
  [out]           PVOID                    pBuffer;
} DXGKARG_COLLECTDIAGNOSTICINFO;

Membros

[in, hAdapter

Um identificador para um bloco de contexto associado a um adaptador de exibição.

Antes do WDDM 2.6, a função DxgkDdiAddDevice do driver de miniporta de exibição forneceu esse identificador para o subsistema de kernel de elementos gráficos DirectX. Esse parâmetro é opcional e pode ser NULL se o driver não fornecer o identificador para o sistema operacional.

[in] Type

Um DXGK_DIAGNOSTICINFO_TYPE valor de enumeração que indica o tipo de informação que o driver precisa coletar.

[out] BucketingString[DXGK_DUMP_BUCKETING_BUFFER_SIZE]

Um buffer de tamanho fixo fornecido para uma cadeia de caracteres que o driver deve usar para identificar o problema para fins de bucketing. Essa cadeia de caracteres deve ser consistente entre as versões do driver para o mesmo problema, portanto, não deve conter elementos como referências de origem, versões de driver ou detalhes específicos da instância, como números de limite ou IDs de destino. Ele pode conter informações como um identificador do subcomponente interno que falhou ou o nome de um módulo, por exemplo mismatched_driver_ihvxseries.sys. Os códigos válidos são 0x21-0x7E e o sublinhado (0x5f) deve ser usado em vez do espaço (0x20).

[out, DescriptionString[DXGK_DUMP_DESCRIPTION_BUFFER_SIZE]

Um buffer de tamanho fixo fornecido para uma cadeia de caracteres que o driver deve usar para descrever detalhes específicos da instância que não são usados para bucketing, mas podem ser usados para fornecer mais detalhes sobre um problema específico, por exemplo mismatched_driver_versions_kmd_10.22.1111.1121,_ihvxseries:10.22.1111.1122. Os códigos válidos são 0x21-0x7E e o sublinhado (0x5f) deve ser usado em vez do espaço (0x20).

[out, pReserved

Um ponteiro para VOID em uma união sem nome reservada como um espaço reservado para um ponteiro para um argumento específico de tipo que o sistema operacional pode fornecer para alguns Tipos. Esse valor é NULL para Tipos que não exigem nenhuma informação estendida.

[in] BufferSizeIn

Uma variável que fornece o tamanho, em bytes, do buffer alocado pelo sistema operacional. Para o valor type de DXGK_DI_ADDDEVICE e DXGK_DI_STARTDEVICE o tamanho será em torno de 0x80000.

[out] BufferSizeOut

Uma variável que o driver deve atualizar com um tamanho real preenchido com seus dados privados. Se nenhum dado privado for fornecido, o driver deverá atribuir 0 à variável.

[out] pBuffer

Um ponteiro para um buffer que recebe os dados do driver privado.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 10, versão 1903
Cabeçalho dispmprt.h

Confira também

DXGK_DIAGNOSTICINFO_TYPE

DXGKDDI_COLLECTDIAGNOSTICINFO

DxgkDdiAddDevice

DxgkDdiGetDisplayStateIntrusive

DxgkDdiGetDisplayStateNonIntrusive