Fonction RegOpenKeyA (winreg.h)
Ouvre la clé de Registre spécifiée.
Syntaxe
LSTATUS RegOpenKeyA(
[in] HKEY hKey,
[in, optional] LPCSTR lpSubKey,
[out] PHKEY phkResult
);
Paramètres
[in] hKey
Handle d’une clé de Registre ouverte. Ce handle est retourné par la fonction RegCreateKeyEx ou RegOpenKeyEx , ou il peut 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_USERS
[in, optional] lpSubKey
Nom de la clé de Registre à ouvrir. Cette clé doit être une sous-clé de la clé identifiée par le paramètre hKey .
Les noms de clés ne respectent pas la casse.
Si ce paramètre a la valeur NULL ou un pointeur vers une chaîne vide, la fonction retourne le même handle qui a été transmis.
Pour plus d’informations, consultez Limites de taille des éléments du Registre.
[out] phkResult
Pointeur vers une variable qui reçoit un handle vers la clé ouverte. Si la clé n’est pas l’une des clés de Registre prédéfinies, appelez la fonction RegCloseKey une fois que vous avez terminé d’utiliser le handle.
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 différent de zéro défini dans Winerror.h. Vous pouvez utiliser la fonction FormatMessage avec l’indicateur FORMAT_MESSAGE_FROM_SYSTEM pour obtenir une description générique de l’erreur.
Remarques
La fonction RegOpenKey utilise le masque d’accès de sécurité par défaut pour ouvrir une clé. Si l’ouverture de la clé nécessite un autre droit d’accès, la fonction échoue et retourne ERROR_ACCESS_DENIED. Une application doit utiliser la fonction RegOpenKeyEx pour spécifier un masque d’accès dans cette situation.
RegOpenKey ne crée pas la clé spécifiée si la clé n’existe pas dans la base de données.
Si votre service ou votre application emprunte l’identité de différents utilisateurs, n’utilisez pas cette fonction avec HKEY_CURRENT_USER. Au lieu de cela, appelez la fonction RegOpenCurrentUser .
Notes
L’en-tête winreg.h définit RegOpenKey comme un 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.
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 |