Partilhar via


estrutura D3DDDI_QUERYREGISTRY_INFO (d3dukmdt.h)

A estrutura D3DDDI_QUERYREGISTRY_INFO indica comoD3DDDICB_QUERYADAPTERINFO2::p DriverPrivateData deve ser reinterpretada quando D3DDDICB_QUERYADAPTERINFO2::QueryType é D3DDDI_QUERYADAPTERTYPE_QUERYREGISTRY.

Sintaxe

typedef struct _D3DDDI_QUERYREGISTRY_INFO {
  D3DDDI_QUERYREGISTRY_TYPE   QueryType;
  D3DDDI_QUERYREGISTRY_FLAGS  QueryFlags;
  WCHAR                       ValueName[MAX_PATH];
  ULONG                       ValueType;
  ULONG                       PhysicalAdapterIndex;
  ULONG                       OutputValueSize;
  D3DDDI_QUERYREGISTRY_STATUS Status;
  union {
    DWORD                 OutputDword;
    D3DKMT_ALIGN64 UINT64 OutputQword;
    WCHAR                 OutputString[1];
    BYTE                  OutputBinary[1];
  };
} D3DDDI_QUERYREGISTRY_INFO;

Membros

QueryType

[in] Um valor D3DDDI_QUERYREGISTRY_TYPE que indica quais dados recuperar.

D3DDDI_QUERYREGISTRY_INFO::QueryType é o campo mais significativo dessa estrutura. Ele indica se os caminhos do registro ou do arquivo estão sendo recuperados, bem como qual hive de registro específico e caminho de arquivo.

Enumerações de chave do Registro:

  • D3DDDI_QUERYREGISTRY_SERVICEKEY
  • D3DDDI_QUERYREGISTRY_ADAPTERKEY

Enumerações de caminho de arquivo:

  • D3DDDI_QUERYREGISTRY_DRIVERSTOREPATH
  • D3DDDI_QUERYREGISTRY_DRIVERIMAGEPATH

QueryFlags

[in] Uma estrutura D3DDDI_QUERYREGISTRY_FLAGS com sinalizadores que controlam como as cadeias de caracteres são recuperadas. QueryFlags pode fazer operações adicionais, como traduzir cadeias de caracteres recuperadas que contêm caminhos de arquivo para o ambiente convidado.

ValueName[MAX_PATH]

[in] Cadeia de caracteres UNICODE com término zero que pode conter um nome de sub-chave, que é separado do nome do valor real por barra invertida. Por exemplo, ValueName pode ser SubKey1\ SubKey2\NameOfTheValue. Nesse caso, SubKey1\ SubKey2 são as subchaves do serviço ou das chaves de software.

Ao recuperar informações do Registro, ValueName deve especificar o nome do valor do Registro a ser recuperado. Ao recuperar informações do caminho do arquivo, ValueName é ignorado.

ValueType

[in] Ao recuperar informações do Registro, ValueType deve especificar o tipo de valor esperado do Registro que corresponde ao nome do valor do registro. Deve ser REG_SZ, REG_MULTI_SZ, REG_EXPAND_SZ, REG_BINARY, REG_QWORD ou REG_DWORD.

Ao recuperar informações do caminho do arquivo, ValueType deve ser 0 para ter êxito.

Consulte Tipos de Valor do Registro para obter mais detalhes.

PhysicalAdapterIndex

[in] O índice do adaptador físico em uma cadeia LDA.

OutputValueSize

[out] Tamanho em bytes da saída gravada se pfnQueryAdapterInfoCb2 for bem-sucedido (status é D3DDDI_QUERYREGISTRY_STATUS_SUCCESS). Quando Status é D3DDDI_QUERYREGISTRY_STATUS_BUFFER_OVERFLOW, OutputValueSize é o número de bytes necessários para manter o valor de saída.

Status

[out] Um valor D3DDDI_QUERYREGISTRY_STATUS que indica o status da consulta.

Quando um driver de exibição no modo de usuário chama a função depfnQueryAdapterInfoCb2 dodo runtime, uma chamada para a funçãoDxgkDdiQueryAdapterInfo doé iniciada.

O status da consulta é retornado separadamente do valor retornado para indicar que diferentes quantidades de dados foram recuperadas. Os três estados de retorno a seguir são os mais importantes para entender:

  • Quando pfnQueryAdapterInfoCb2 retorna STATUS_SUCCESS:
    • Se Status for D3DDDI_QUERYREGISTRY_STATUS_SUCCESS, todos os campos que começam com saída Xxx serão válidos.
    • Se Status for D3DDDI_QUERYREGISTRY_STATUS_BUFFER_OVERFLOW, não haverá espaço suficiente nos dados privados para manter o valor do Registro. Somente OutputValueSize é válido.
  • Quando pfnQueryAdapterInfoCb2 não retorna STATUS_SUCCESS, todos os campos são deixados sem modificação, exceto Status podem ser alterados para D3DDDI_QUERYREGISTRY_STATUS_FAIL.

OutputDword

[out] Uma parte da união que contém o valor de saída. OutputDword é um campo de conveniência para reinterpretar os dados recuperados com êxito quando um DWORD do Registro está sendo lido.

OutputQword

[out] Uma parte da união que contém o valor de saída. outputQword é um campo de conveniência para reinterpretar os dados recuperados com êxito quando um QWORD do registro está sendo lido.

OutputString[1]

OutputBinary[1]

Observações

D3DDDI_QUERYREGISTRY_INFO é usado para ler o registro para obter informações que geralmente são armazenadas em cache durante a instalação do driver.

Em vez de usar métodos brutos do sistema operacional, os drivers de modo de usuário e outros componentes devem usar essa técnica de maneira onipresente nas versões do sistema operacional em que há suporte. Isso permite que o sistema operacional maximize a compatibilidade do modo de usuário com alterações de dependência e cenários como ambientes virtualizados. Para obter mais informações, consulte de paravirtualização de GPU.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows 10, versão 1803 (WDDM 2.4)
cabeçalho d3dukmdt.h

Consulte também

D3DDDI_QUERYREGISTRY_TYPE

D3DDDI_QUERYREGISTRY_FLAGS

D3DDDI_QUERYREGISTRY_STATUS

KMTQUERYADAPTERINFOTYPE

D3DKMT_QUERYADAPTERINFO

pfnQueryAdapterInfoCb2