Freigeben über


RegOverridePredefKey-Funktion (winreg.h)

Ordnet dem angegebenen Registrierungsschlüssel einen vordefinierten Registrierungsschlüssel zu.

Syntax

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

Parameter

[in] hKey

Ein Handle für einen der folgenden vordefinierten Schlüssel:

  • HKEY_CLASSES_ROOT
  • HKEY_CURRENT_CONFIG
  • HKEY_CURRENT_USER
  • HKEY_LOCAL_MACHINE
  • HKEY_PERFORMANCE_DATA
  • HKEY_USERS

[in, optional] hNewHKey

Ein Handle für einen geöffneten Registrierungsschlüssel. Dieses Handle wird von der RegCreateKeyEx- oder RegOpenKeyEx-Funktion zurückgegeben. Es darf nicht einer der vordefinierten Schlüssel sein. Die Funktion ordnet hKey zu, um auf die hNewHKey-Taste zu verweisen. Dies wirkt sich nur auf den aufrufenden Prozess aus.

Wenn hNewHKeyNULL ist, stellt die Funktion die Standardzuordnung des vordefinierten Schlüssels wieder her.

Rückgabewert

Wenn die Funktion erfolgreich ist, wird der Rückgabewert ERROR_SUCCESS.

Wenn die Funktion fehlschlägt, ist der Rückgabewert ein nichtzero-Fehlercode, der in Winerror.h definiert ist. Sie können die FormatMessage-Funktion mit dem flag FORMAT_MESSAGE_FROM_SYSTEM verwenden, um eine generische Beschreibung des Fehlers abzurufen.

Hinweise

Die RegOverridePredefKey-Funktion ist für Softwareinstallationsprogramme vorgesehen. Sie können einen vordefinierten Schlüssel neu zuordnen, eine DLL-Komponente laden, die auf dem System installiert wird, einen Einstiegspunkt in der DLL aufrufen und die Von der Komponente vorgenommenen Änderungen an der Registrierung untersuchen. Das Installationsprogramm kann diese Änderungen dann an die von der DLL vorgesehenen Speicherorte schreiben oder Vor dem Schreiben Änderungen an den Daten vornehmen.

Betrachten Sie beispielsweise ein Installationsprogramm, das ein ActiveX-Steuerelement im Rahmen einer Anwendungsinstallation installiert. Das Installationsprogramm muss den DllRegisterServer-Einstiegspunkt des Steuerelements aufrufen, damit sich das Steuerelement registrieren kann. Vor diesem Aufruf kann das Installationsprogramm RegOverridePredefKey aufrufen, um HKEY_CLASSES_ROOT einem temporären Schlüssel wie HKEY_CURRENT_USER\TemporaryInstall\DllRegistration neu zuzuordnen. Anschließend wird DllRegisterServer aufgerufen, wodurch das ActiveX-Steuerelement seine Registrierungseinträge in den temporären Schlüssel schreibt. Das Installationsprogramm ruft dann regOverridePredefKey erneut auf, um die ursprüngliche Zuordnung von HKEY_CLASSES_ROOT wiederherzustellen. Das Installationsprogramm kann die in den temporären Schlüssel geschriebenen Schlüssel bei Bedarf ändern, bevor sie in den ursprünglichen HKEY_CLASSES_ROOT kopiert werden.

Nach dem Aufruf von RegOverridePredefKey können Sie RegCloseKey sicher aufrufen, um das hNewHKey-Handle zu schließen. Das System verwaltet einen eigenen Verweis auf hNewHKey.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile winreg.h (einschließlich Windows.h)
Bibliothek Advapi32.lib
DLL Advapi32.dll

Weitere Informationen

Dllregisterserver

Registrierungsfunktionen

Registrierungsübersicht