Partager via


RegQueryInfoKeyW, fonction (winreg.h)

Récupère des informations sur la clé de Registre spécifiée.

Syntaxe

LSTATUS RegQueryInfoKeyW(
  [in]                HKEY      hKey,
  [out, optional]     LPWSTR    lpClass,
  [in, out, optional] LPDWORD   lpcchClass,
                      LPDWORD   lpReserved,
  [out, optional]     LPDWORD   lpcSubKeys,
  [out, optional]     LPDWORD   lpcbMaxSubKeyLen,
  [out, optional]     LPDWORD   lpcbMaxClassLen,
  [out, optional]     LPDWORD   lpcValues,
  [out, optional]     LPDWORD   lpcbMaxValueNameLen,
  [out, optional]     LPDWORD   lpcbMaxValueLen,
  [out, optional]     LPDWORD   lpcbSecurityDescriptor,
  [out, optional]     PFILETIME lpftLastWriteTime
);

Paramètres

[in] hKey

Handle vers une clé de Registre ouverte. La clé doit avoir été ouverte avec le droit d’accès KEY_QUERY_VALUE. Pour plus d’informations, consultez sécurité des clés de Registre et droits d’accès.

Ce handle est retourné par le RegCreateKeyEx, RegCreateKeyTransacted, RegOpenKeyExou fonction RegOpenKeyTransacted. Il peut également s’agir de l’une des clés prédéfinies:


   HKEY_CLASSES_ROOT
   HKEY_CURRENT_CONFIG
   HKEY_CURRENT_USER
   HKEY_LOCAL_MACHINE
   HKEY_PERFORMANCE_DATA
   HKEY_USERS

[out, optional] lpClass

Pointeur vers une mémoire tampon qui reçoit la classe définie par l’utilisateur de la clé. Ce paramètre peut être NULL.

[in, out, optional] lpcchClass

Pointeur vers une variable qui spécifie la taille de la mémoire tampon pointée par le paramètre lpClass, en caractères.

La taille doit inclure la fin caractère null. Lorsque la fonction est retournée, cette variable contient la taille de la chaîne de classe stockée dans la mémoire tampon. Le nombre retourné n’inclut pas le caractère null. Si la mémoire tampon n’est pas suffisamment grande, la fonction retourne ERROR_MORE_DATA et la variable contient la taille de la chaîne, en caractères, sans compter la fin caractère null.

Si lpClass est NULL, lpcClass peut être NULL.

Si le paramètre lpClass est une adresse valide, mais que le paramètre lpcClass n’est pas, par exemple, NULL, la fonction retourne ERROR_INVALID_PARAMETER.

lpReserved

Ce paramètre est réservé et doit être NULL.

[out, optional] lpcSubKeys

Pointeur vers une variable qui reçoit le nombre de sous-clés contenues par la clé spécifiée. Ce paramètre peut être NULL.

[out, optional] lpcbMaxSubKeyLen

Pointeur vers une variable qui reçoit la taille de la sous-clé de la clé avec le nom le plus long, dans les caractères Unicode, sans inclure la fin caractère de null. Ce paramètre peut être NULL.

[out, optional] lpcbMaxClassLen

Pointeur vers une variable qui reçoit la taille de la chaîne la plus longue qui spécifie une classe de sous-clé, en caractères Unicode. Le nombre retourné n’inclut pas le caractère null. Ce paramètre peut être NULL.

[out, optional] lpcValues

Pointeur vers une variable qui reçoit le nombre de valeurs associées à la clé. Ce paramètre peut être NULL.

[out, optional] lpcbMaxValueNameLen

Pointeur vers une variable qui reçoit la taille du nom de valeur la plus longue de la clé, en caractères Unicode. La taille n’inclut pas la fin caractère null. Ce paramètre peut être NULL.

[out, optional] lpcbMaxValueLen

Pointeur vers une variable qui reçoit la taille du composant de données le plus long parmi les valeurs de la clé, en octets. Ce paramètre peut être NULL.

[out, optional] lpcbSecurityDescriptor

Pointeur vers une variable qui reçoit la taille du descripteur de sécurité de la clé, en octets. Ce paramètre peut être NULL.

[out, optional] lpftLastWriteTime

Pointeur vers une structure FILETIME qui reçoit la dernière heure d’écriture. Ce paramètre peut être NULL.

La fonction définit les membres de la structure FILETIME pour indiquer la dernière fois que la clé ou l’une de ses entrées de valeur est modifiée.

Valeur de retour

Si la fonction réussit, la valeur de retour est ERROR_SUCCESS.

Si la fonction échoue, la valeur de retour est un code d’erreur système .

Si la mémoire tampon lpClass est trop petite pour recevoir le nom de la classe, la fonction retourne ERROR_MORE_DATA.

Remarques

Note

L’en-tête winreg.h définit RegQueryInfoKey comme alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

Exigences

Exigence Valeur
client minimum pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
serveur minimum pris en charge Windows 2000 Server [applications de bureau uniquement]
plateforme cible Windows
d’en-tête winreg.h (inclure Windows.h)
bibliothèque Advapi32.lib
DLL Advapi32.dll

Voir aussi

FILETIME

RegDeleteKey

RegEnumKeyEx

RegEnumValue

RegQueryValueEx

fonctions de Registre

Vue d’ensemble du Registre