Partager via


RegOverridePredefKey, fonction (winreg.h)

Mappe une clé de Registre prédéfinie à la clé de Registre spécifiée.

Syntaxe

LSTATUS RegOverridePredefKey(
  [in]           HKEY hKey,
  [in, optional] HKEY hNewHKey
);

Paramètres

[in] hKey

Handle pour 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

[in, optional] hNewHKey

Handle d’une clé de Registre ouverte. Ce handle est retourné par la fonction RegCreateKeyEx ou RegOpenKeyEx . Il ne peut pas s’agir d’une des clés prédéfinies. La fonction mappe hKey pour faire référence à la clé hNewHKey . Cela affecte uniquement le processus d’appel.

Si hNewHKey a la valeur NULL, la fonction restaure le mappage par défaut de la clé prédéfinie.

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 RegOverridePredefKey est destinée aux programmes d’installation de logiciels. Il leur permet de remapper une clé prédéfinie, de charger un composant DLL qui sera installé sur le système, d’appeler un point d’entrée dans la DLL et d’examiner les modifications apportées au Registre que le composant a tenté d’apporter. Le programme d’installation peut ensuite écrire ces modifications dans les emplacements prévus par la DLL ou apporter des modifications aux données avant de les écrire.

Par exemple, considérez un programme d’installation qui installe un contrôle ActiveX dans le cadre d’une installation d’application. Le programme d’installation doit appeler le point d’entrée DllRegisterServer du contrôle pour permettre au contrôle de s’inscrire lui-même. Avant cet appel, le programme d’installation peut appeler RegOverridePredefKey pour remapper HKEY_CLASSES_ROOT à une clé temporaire telle que HKEY_CURRENT_USER\TemporaryInstall\DllRegistration. Il appelle ensuite DllRegisterServer, ce qui oblige le contrôle ActiveX à écrire ses entrées de Registre sur la clé temporaire. Le programme d’installation appelle ensuite à nouveau RegOverridePredefKey pour restaurer le mappage d’origine de HKEY_CLASSES_ROOT. Le programme d’installation peut modifier les clés écrites sur la clé temporaire, si nécessaire, avant de les copier dans le HKEY_CLASSES_ROOT d’origine.

Après l’appel à RegOverridePredefKey, vous pouvez appeler en toute sécurité RegCloseKey pour fermer le handle hNewHKey . Le système conserve sa propre référence à hNewHKey.

Configuration requise

   
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

Dllregisterserver

Fonctions de Registre

Vue d’ensemble du Registre