D3DDDI_QUERYREGISTRY_INFO structure (d3dukmdt.h)
La structure D3DDDI_QUERYREGISTRY_INFO indique comment D3DKMT_QUERYADAPTERINFO ::p DriverPrivateData doit être réinterprété lorsque D3DKMT_QUERYADAPTERINFO ::Type est KMTQAITYPE_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.
QueryType est le champ le plus significatif. Il indique si le registre ou les chemins d’accès aux fichiers sont récupérés, ainsi que la ruche de registre et le chemin d’accès au fichier spécifiques.
Énumérations de clés 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 peut effectuer des opérations supplémentaires, telles que traduire les chaînes récupérées contenant des chemins d’accès aux fichiers dans l’environnement invité.
ValueName[MAX_PATH]
[in] Lors de la récupération des informations de Registre, ValueName doit 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é.
ValueType
[in] Lors de la récupération des informations de Registre, ValueType doit spécifier le type de valeur de Registre attendu qui correspond au nom de la valeur de Registre. Lors de la récupération des informations de chemin d’accès au fichier, ValueType doit avoir la valeur 0 pour réussir. Pour plus d’informations, consultez Types de valeurs du Registre .
PhysicalAdapterIndex
[in] Index de l’adaptateur physique dans une chaîne LDA.
OutputValueSize
[out] La taille des données de sortie est récupérée dans ce champ, même s’il n’y avait pas assez d’espace pour récupérer ces données. Ce champ est particulièrement utile lorsque des données de taille variable sont récupérées.
Status
[out] Valeur D3DDDI_QUERYREGISTRY_STATUS qui indique la status de la requête.
La status de la requête est retournée séparément pour 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 QueryAdapterInfo retourne STATUS_SUCCESS et que Status est D3DDDI_QUERYREGISTRY_STATUS_SUCCESS, tous les champs commençant par Output sont valides.
- Lorsque QueryAdapterInfo retourne STATUS_SUCCESS et que Status est D3DDDI_QUERYREGISTRY_STATUS_BUFFER_OVERFLOW, seul OutputValueSize est valide.
- Lorsque QueryAdapterInfo ne retourne pas STATUS_SUCCESS, tous les champs ne sont pas modifiés, à l’exception de Status qui peut être remplacé par D3DDDI_QUERYREGISTRY_STATUS_FAIL.
OutputDword
[out] Champ pratique pour réinterpréter les données récupérées avec succès. Il est particulièrement utile lorsqu’un DWORD de registre est en cours de lecture.
OutputQword
[out] Champ pratique pour réinterpréter les données récupérées avec succès. Il est particulièrement utile lorsqu’un registre QWORD est en cours de lecture.
OutputString[1]
OutputBinary[1]
Remarques
D3DDDI_QUERYREGISTRY_INFO est utilisé pour lire le Registre pour obtenir des informations qui sont généralement mises en cache pendant 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 ubiquitairement utiliser cette technique sur les versions du système d’exploitation où elle est prise en charge. Cela permet au système d’exploitation d’optimiser la compatibilité du mode utilisateur avec les changements de dépendance et les scénarios tels que les environnements virtualisés.
Configuration requise
Condition requise | Valeur |
---|---|
En-tête | d3dukmdt.h |
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour