struttura D3DDDI_QUERYREGISTRY_INFO (d3dukmdt.h)
La struttura D3DDDI_QUERYREGISTRY_INFO indica come D3DDDICB_QUERYADAPTERINFO2::p DriverPrivateData deve essere reinterpretata quando D3DDDICB_QUERYADAPTERINFO2::QueryType è D3DDDI_QUERYADAPTERTYPE_QUERYREGISTRY.
Sintassi
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;
Membri
QueryType
[in] Valore D3DDDI_QUERYREGISTRY_TYPE che indica quali dati recuperare.
D3DDDI_QUERYREGISTRY_INFO::QueryType è il campo più significativo di questa struttura. Indica se vengono recuperati i percorsi del Registro di sistema o dei file, nonché quale hive e percorso di file del Registro di sistema specifico.
Enumerazioni delle chiavi del Registro di sistema:
- D3DDDI_QUERYREGISTRY_SERVICEKEY
- D3DDDI_QUERYREGISTRY_ADAPTERKEY
Enumerazioni percorso file:
- D3DDDI_QUERYREGISTRY_DRIVERSTOREPATH
- D3DDDI_QUERYREGISTRY_DRIVERIMAGEPATH
QueryFlags
[in] Struttura D3DDDI_QUERYREGISTRY_FLAGS con flag che controllano la modalità di recupero delle stringhe. QueryFlags può eseguire operazioni aggiuntive, ad esempio tradurre stringhe recuperate contenenti percorsi di file nell'ambiente guest.
ValueName[MAX_PATH]
[in] Stringa UNICODE con terminazione zero che può contenere un nome di sottochiave, separato dal nome effettivo del valore tramite barra rovesciata. Ad esempio, ValueName potrebbe essere SubKey1\ SubKey2\NameOfTheValue
. In questo caso, SubKey1\ SubKey2
sono le sottochiavi del servizio o delle chiavi software.
Quando si recuperano informazioni del Registro di sistema, ValoreName deve specificare il nome del valore del Registro di sistema da recuperare. Quando si recuperano informazioni sul percorso del file, ValoreName viene ignorato.
ValueType
[in] Quando si recuperano informazioni del Registro di sistema, ValueType deve specificare il tipo di valore previsto del Registro di sistema corrispondente al nome del valore del Registro di sistema. Deve essere REG_SZ, REG_MULTI_SZ, REG_EXPAND_SZ, REG_BINARY, REG_QWORD o REG_DWORD.
Quando si recuperano informazioni sul percorso del file, ValoreType deve essere 0 per avere esito positivo.
Per altri dettagli, vedere tipi di valori del Registro di sistema.
PhysicalAdapterIndex
[in] Indice dell'adattatore fisico in una catena LDA.
OutputValueSize
[out] Dimensioni in byte dell'output scritto se pfnQueryAdapterInfoCb2 ha esito positivo (stato è D3DDDI_QUERYREGISTRY_STATUS_SUCCESS). Quando stato è D3DDDI_QUERYREGISTRY_STATUS_BUFFER_OVERFLOW, OutputValueSize è il numero di byte necessari per contenere il valore di output.
Status
[out] Valore D3DDDI_QUERYREGISTRY_STATUS che indica lo stato della query.
Quando un driver di visualizzazione in modalità utente chiama la funzione pfnQueryAdapterInfoCb2 del runtime, viene avviata una chiamata alla funzione DxgkDdiQueryAdapterInfo.
Lo stato della query viene restituito separatamente dal valore restituito per indicare che sono stati recuperati quantità variabili di dati. I tre stati restituiti seguenti sono i più importanti da comprendere:
- Quando pfnQueryAdapterInfoCb2 restituisce STATUS_SUCCESS:
- Se stato è D3DDDI_QUERYREGISTRY_STATUS_SUCCESS, tutti i campi che iniziano con OutputXxx sono validi.
- Se stato è D3DDDI_QUERYREGISTRY_STATUS_BUFFER_OVERFLOW, non è disponibile spazio sufficiente nei dati privati per contenere il valore del Registro di sistema. È valido solo OutputValueSize.
- Quando pfnQueryAdapterInfoCb2 non restituisce STATUS_SUCCESS, tutti i campi vengono lasciati invariati, ad eccezione di Stato potrebbe essere modificato in D3DDDI_QUERYREGISTRY_STATUS_FAIL.
OutputDword
[out] Parte dell'unione che contiene il valore di output. outputDword è un campo pratico per reinterpretare i dati recuperati correttamente quando viene letto un DWORD del Registro di sistema.
OutputQword
[out] Parte dell'unione che contiene il valore di output. outputQword è un campo pratico per reinterpretare i dati recuperati correttamente quando viene letto un QWORD del Registro di sistema.
OutputString[1]
OutputBinary[1]
Osservazioni
D3DDDI_QUERYREGISTRY_INFO viene usato per leggere il Registro di sistema per informazioni comunemente memorizzate nella cache durante l'installazione del driver.
Invece di usare metodi del sistema operativo non elaborati, i driver in modalità utente e altri componenti devono usare in modo universale questa tecnica nelle versioni del sistema operativo in cui è supportata. Ciò consente al sistema operativo di ottimizzare la compatibilità in modalità utente con modifiche alle dipendenze e scenari come ambienti virtualizzati. Per altre informazioni, vedere paravirtualization GPU.
Fabbisogno
Requisito | Valore |
---|---|
Client minimo supportato | Windows 10, versione 1803 (WDDM 2.4) |
intestazione | d3dukmdt.h |