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

D3DDDI_QUERYREGISTRY_TYPE

D3DDDI_QUERYREGISTRY_FLAGS

D3DDDI_QUERYREGISTRY_STATUS

KMTQUERYADAPTERINFOTYPE

D3DKMT_QUERYADAPTERINFO