Partager via


Fonction RegReplaceKeyA (winreg.h)

Remplace le fichier qui stocke une clé de Registre et toutes ses sous-clés par un autre fichier, de sorte que, lors du prochain démarrage du système, les valeurs de la clé et des sous-clés soient stockées dans le nouveau fichier.

Les applications qui sauvegardent ou restaurent l’état du système, y compris les fichiers système et les ruches du Registre, doivent utiliser le service de cliché instantané de volume au lieu des fonctions du Registre.

Syntaxe

LSTATUS RegReplaceKeyA(
  [in]           HKEY   hKey,
  [in, optional] LPCSTR lpSubKey,
  [in]           LPCSTR lpNewFile,
  [in]           LPCSTR lpOldFile
);

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_ROOTHKEY_CURRENT_CONFIGHKEY_CURRENT_USERHKEY_USERS HKEY_LOCAL_MACHINE

[in, optional] lpSubKey

Nom de la clé de Registre dont les sous-clés et les valeurs doivent être remplacées. Si la clé existe, il doit s’agir d’une sous-clé de la clé identifiée par le paramètre hKey . Si la sous-clé n’existe pas, elle est créée. Ce paramètre peut être NULL.

Si la sous-clé spécifiée n’est pas la racine d’une ruche, RegReplaceKey traverse la structure d’arborescence hive jusqu’à ce qu’elle rencontre une racine hive, puis remplace le contenu de cette ruche par le contenu du fichier de données spécifié par lpNewFile.

Pour plus d’informations, consultez Limites de taille des éléments du Registre.

[in] lpNewFile

Nom du fichier avec les informations du Registre. Ce fichier est généralement créé à l’aide de la fonction RegSaveKey .

[in] lpOldFile

Nom du fichier qui reçoit une copie de sauvegarde des informations du Registre en cours de remplacement.

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

Il existe deux formats de fichier hive de Registre différents. Les ruches de Registre créées sur les systèmes d’exploitation actuels ne peuvent généralement pas être chargées par les systèmes d’exploitation précédents.

Le fichier spécifié par le paramètre lpNewFile reste ouvert jusqu’à ce que le système soit redémarré.

Si hKey est un handle retourné par RegConnectRegistry, les chemins spécifiés dans lpNewFile et lpOldFile sont relatifs à l’ordinateur distant.

Le processus appelant doit disposer des privilèges SE_RESTORE_NAME et SE_BACKUP_NAME sur l’ordinateur sur lequel réside le Registre. Pour plus d’informations, consultez Exécution avec des privilèges spéciaux.

Notes

L’en-tête winreg.h définit RegReplaceKey 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

Voir aussi

RegConnectRegistry

RegDeleteKey

RegLoadKey

RegRestoreKey

RegSaveKey

Fonctions du Registre

Vue d’ensemble du Registre