structure D3DDDI_QUERYREGISTRY_INFO (d3dukmdt.h)
La structure D3DDDI_QUERYREGISTRY_INFO indique comment D3DDDICB_QUERYADAPTERINFO2 ::p DriverPrivateData doit être réinterprété lorsque D3DDDICB_QUERYADAPTERINFO2 ::QueryType est D3DDDI_QUERYADAPTERTYPE_QUERYREGISTRY.
Syntaxe
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;
Membres
QueryType
[in] Valeur D3DDDI_QUERYREGISTRY_TYPE qui indique les données à récupérer.
D3DDDI_QUERYREGISTRY_INFO ::QueryType est le champ le plus significatif de cette structure. Il indique si les chemins d’accès au Registre ou aux fichiers sont récupérés, ainsi que le chemin d’accès spécifique à la ruche et au fichier du Registre.
Énumérations de clé de Registre :
- D3DDDI_QUERYREGISTRY_SERVICEKEY
- D3DDDI_QUERYREGISTRY_ADAPTERKEY
Énumérations de chemin d’accès de fichier :
- D3DDDI_QUERYREGISTRY_DRIVERSTOREPATH
- D3DDDI_QUERYREGISTRY_DRIVERIMAGEPATH
QueryFlags
[in] Structure D3DDDI_QUERYREGISTRY_FLAGS avec des indicateurs qui contrôlent la façon dont les chaînes sont récupérées. QueryFlags pouvez effectuer des opérations supplémentaires, comme traduire des chaînes récupérées contenant des chemins de fichier vers l’environnement invité.
ValueName[MAX_PATH]
[in] Chaîne UNICODE terminée par zéro qui peut contenir un nom de sous-clé, qui est séparé du nom de valeur réel par barre oblique inverse. Par exemple, ValueName peut être SubKey1\ SubKey2\NameOfTheValue
. Dans ce cas, SubKey1\ SubKey2
sont les sous-clés du service ou des clés logicielles.
Lors de la récupération des informations de Registre, ValueName devez spécifier le nom de la valeur de Registre à récupérer. Lors de la récupération des informations de chemin d’accès au fichier, ValueName est ignorée.
ValueType
[in] Lors de la récupération des informations de Registre, ValueType devez spécifier le type de valeur de Registre attendu qui correspond au nom de la valeur de Registre. Il doit être REG_SZ, REG_MULTI_SZ, REG_EXPAND_SZ, REG_BINARY, REG_QWORD ou REG_DWORD.
Lors de la récupération des informations de chemin d’accès au fichier, ValueType doit être 0 pour réussir.
Pour plus d’informations, consultez types de valeurs de Registre.
PhysicalAdapterIndex
[in] Index de l’adaptateur physique dans une chaîne LDA.
OutputValueSize
[out] Taille en octets de la sortie écrite si pfnQueryAdapterInfoCb 2 réussit (Status est D3DDDI_QUERYREGISTRY_STATUS_SUCCESS). Lorsque 'état est D3DDDI_QUERYREGISTRY_STATUS_BUFFER_OVERFLOW, OutputValueSize est le nombre d’octets requis pour contenir la valeur de sortie.
Status
[out] Valeur D3DDDI_QUERYREGISTRY_STATUS qui indique l’état de la requête.
Lorsqu’un pilote d’affichage en mode utilisateur appelle la fonction pfnQueryAdapterInfoCb2 du runtime, un appel à la fonction DxgkDdiQueryAdapterInfo est lancé.
L’état de la requête est retourné séparément de la valeur de retour afin d’indiquer que différentes quantités de données ont été récupérées. Les trois états de retour suivants sont les plus importants à comprendre :
- Lorsque pfnQueryAdapterInfoCb2 retourne STATUS_SUCCESS :
- Si 'état est D3DDDI_QUERYREGISTRY_STATUS_SUCCESS, tous les champs commençant par SortieXxx sont valides.
- Si 'état est D3DDDI_QUERYREGISTRY_STATUS_BUFFER_OVERFLOW, il n’y a pas suffisamment d’espace dans les données privées pour contenir la valeur du Registre. Seule OutputValueSize est valide.
- Lorsque pfnQueryAdapterInfoCb2 ne retourne pas STATUS_SUCCESS, tous les champs ne sont pas modifiés, sauf Status peut être modifié en D3DDDI_QUERYREGISTRY_STATUS_FAIL.
OutputDword
[out] Partie de l’union qui contient la valeur de sortie. outputDword est un champ pratique pour réinterpreter les données récupérées avec succès lorsqu’un DWORD de Registre est lu.
OutputQword
[out] Partie de l’union qui contient la valeur de sortie. outputQword est un champ pratique pour réinterpreter les données récupérées avec succès lorsqu’un QWORD de Registre est lu.
OutputString[1]
OutputBinary[1]
Remarques
D3DDDI_QUERYREGISTRY_INFO est utilisé pour lire le Registre pour obtenir des informations généralement mises en cache lors de l’installation du pilote.
Au lieu d’utiliser des méthodes de système d’exploitation brutes, les pilotes en mode utilisateur et d’autres composants doivent utiliser cette technique sur les versions du système d’exploitation où elles sont prises en charge. Cela permet au système d’exploitation d’optimiser la compatibilité en mode utilisateur avec les modifications de dépendance et les scénarios tels que les environnements virtualisés. Pour plus d’informations, consultez paravirtualization gpu.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Windows 10, version 1803 (WDDM 2.4) |
d’en-tête | d3dukmdt.h |