Compartilhar via


DXGKARG_COLLECTDIAGNOSTICINFO estrutura (dispmprt.h)

Usado 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, ao mesmo tempo em que fornecerá o tipo de informação 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 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 tiver fornecido o identificador para o sistema operacional.

[in] Type

Um valor de enumeração DXGK_DIAGNOSTICINFO_TYPE 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, ela 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 cerca ou IDs de destino. Ele pode conter informações como um identificador do subcompartimento 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 espaço reservado para um ponteiro para um argumento específico de tipo que o sistema operacional pode fornecer para alguns tipos de . Esse valor é NULL para tipos de que não exigem informações estendidas.

[in] BufferSizeIn

Uma variável que fornece o tamanho, em bytes, do buffer alocado pelo sistema operacional. Para tipo valor 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
de cliente com suporte mínimo Windows 10, versão 1903
cabeçalho dispmprt.h

Consulte também

DXGK_DIAGNOSTICINFO_TYPE

DXGKDDI_COLLECTDIAGNOSTICINFO

DxgkDdiAddDevice

DxgkDdiGetDisplayStateIntrusive

DxgkDdiGetDisplayStateNonIntrusive