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 |