Partager via


Fonction RegLoadAppKeyA (winreg.h)

Charge la ruche de Registre spécifiée en tant que ruche d’application.

Syntaxe

LSTATUS RegLoadAppKeyA(
  [in]  LPCSTR lpFile,
  [out] PHKEY  phkResult,
  [in]  REGSAM samDesired,
  [in]  DWORD  dwOptions,
        DWORD  Reserved
);

Paramètres

[in] lpFile

Nom du fichier hive. Cette ruche doit avoir été créée avec la fonction RegSaveKey ou RegSaveKeyEx . Si le fichier n’existe pas, un fichier hive vide est créé avec le nom spécifié.

[out] phkResult

Pointeur vers le handle de la clé racine de la ruche chargée.

La seule façon d’accéder aux clés dans la ruche consiste à utiliser ce handle. Le Registre empêche une application d’accéder aux clés de cette ruche à l’aide d’un chemin d’accès absolu à la clé. Par conséquent, il n’est pas possible d’accéder à cette ruche via l’espace de noms du Registre.

[in] samDesired

Masque qui spécifie les droits d’accès demandés pour la clé racine retournée. Pour plus d’informations, consultez Sécurité de la clé de Registre et droits d’accès.

[in] dwOptions

Si ce paramètre est REG_PROCESS_APPKEY, la ruche ne peut pas être chargée à nouveau tant qu’elle est chargée par l’appelant. Cela empêche un autre appelant d’accéder à cette ruche de Registre.

Reserved

Ce paramètre est réservé.

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

Contrairement à RegLoadKey, RegLoadAppKey ne charge pas la ruche sous HKEY_LOCAL_MACHINE ou HKEY_USERS. Au lieu de cela, la ruche est chargée sous une racine spéciale qui ne peut pas être énumérée. Par conséquent, il n’existe aucun moyen d’énumérer les ruches actuellement chargées par RegLoadAppKey. Toutes les opérations sur les ruches chargées par RegLoadAppKey doivent être effectuées par rapport au handle retourné dans phkResult.

Si deux processus sont nécessaires pour effectuer des opérations sur la même ruche, chaque processus doit appeler RegLoadAppKey pour récupérer un handle. Pendant l’opération RegLoadAppKey , le Registre vérifie si le fichier a déjà été chargé. S’il a été chargé, le Registre retourne un handle à la ruche précédemment chargée au lieu de charger à nouveau la ruche.

Toutes les clés à l’intérieur de la ruche doivent avoir le même descripteur de sécurité, sinon la fonction échouera. Ce descripteur de sécurité doit accorder à l’appelant l’accès spécifié par le paramètre samDesired , sinon la fonction échoue. Vous ne pouvez pas utiliser la fonction RegSetKeySecurity sur une clé à l’intérieur de la ruche.

Dans Windows 8 et versions ultérieures, chaque processus peut appeler RegLoadAppKey pour charger plusieurs ruches. Dans Windows 7 et versions antérieures, chaque processus ne peut charger qu’une seule ruche à l’aide de RegLoadAppKey à la fois.

Toute ruche chargée à l’aide de RegLoadAppKey est automatiquement déchargée lorsque toutes les poignées des clés à l’intérieur de la ruche sont fermées à l’aide de RegCloseKey.

Pour compiler une application qui utilise cette fonction, définissez _WIN32_WINNT comme 0x0600 ou version ultérieure. Pour plus d’informations, consultez Utilisation des en-têtes Windows.

Notes

L’en-tête winreg.h définit RegLoadAppKey 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 Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau uniquement]
Plateforme cible Windows
En-tête winreg.h (inclure Windows.h)
Bibliothèque Advapi32.lib
DLL Advapi32.dll

Voir aussi

RegSaveKey

Fonctions du Registre

Hive du Registre