Fonction RegQueryInfoKeyA (winreg.h)
Récupère des informations sur la clé de Registre spécifiée.
Syntaxe
LSTATUS RegQueryInfoKeyA(
[in] HKEY hKey,
[out, optional] LPSTR 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 d’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é de la clé de Registre et droits d’accès.
Ce handle est retourné par la fonction RegCreateKeyEx, RegCreateKeyTransacted, RegOpenKeyEx ou RegOpenKeyTransacted . Il peut également s’agir de l’une des clés prédéfinies suivantes :
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 vers le paramètre lpClass , en caractères.
La taille doit inclure le caractère null de fin. Lorsque la fonction retourne, 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 de fin. Si la mémoire tampon n’est pas assez grande, la fonction retourne ERROR_MORE_DATA, et la variable contient la taille de la chaîne, en caractères, sans compter le caractère null de fin.
Si lpClass a la valeur NULL, lpcClass peut avoir la valeur NULL.
Si le paramètre lpClass est une adresse valide, mais que le paramètre lpcClass n’est pas null, par exemple, il est NULL, la fonction retourne ERROR_INVALID_PARAMETER.
lpReserved
Ce paramètre est réservé et doit avoir la valeur 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, en caractères ANSI, sans le caractère null de fin. 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 ANSI. Le nombre retourné n’inclut pas le caractère null de fin. 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 la valeur la plus longue de la clé, en caractères ANSI. La taille n’inclut pas le caractère null de fin. 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 l’heure de la dernière écriture. Ce paramètre peut être NULL.
La fonction définit les membres de la structure FILETIME pour indiquer la dernière modification de la clé ou de l’une de ses entrées de valeur.
Valeur retournée
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
Notes
Sur les versions héritées de Windows, cette API est également exposée par kernel32.dll.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 2000 Professionnel [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows 2000 Server [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | winreg.h (inclure Windows.h) |
Bibliothèque | Advapi32.lib |
DLL | Advapi32.dll |