Freigeben über


RegReplaceKeyA-Funktion (winreg.h)

Ersetzt die Datei, die einen Registrierungsschlüssel und alle zugehörigen Unterschlüssel durch eine andere Datei zurückgibt, sodass beim nächsten Start des Systems der Schlüssel und Unterschlüssel die Werte in der neuen Datei gespeichert sind.

Anwendungen, die den Systemstatus sichern oder wiederherstellen, einschließlich Systemdateien und Registrierungsstruktur, sollten den Volume Shadow Copy Service anstelle der Registrierungsfunktionen verwenden.

Syntax

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

Parameter

[in] hKey

Ein Handle zu einem geöffneten Registrierungsschlüssel. Dieses Handle wird von der RegCreateKeyEx-- oder RegOpenKeyEx--Funktion zurückgegeben, oder es kann sich um einen der folgenden vordefinierten Schlüssel:

HKEY_CLASSES_ROOTHKEY_CURRENT_CONFIGHKEY_CURRENT_USERHKEY_LOCAL_MACHINEHKEY_USERS

[in, optional] lpSubKey

Der Name des Registrierungsschlüssels, dessen Unterschlüssel und Werte ersetzt werden sollen. Wenn der Schlüssel vorhanden ist, muss es sich um einen Unterschlüssel des schlüssels sein, der durch den hKey Parameter identifiziert wird. Wenn der Unterschlüssel nicht vorhanden ist, wird er erstellt. Dieser Parameter kann NULL-sein.

Wenn der angegebene Unterschlüssel nicht der Stamm einer Struktur ist, durchläuft RegReplaceKey die Struktur der Struktur nach oben, bis ein Strukturstamm auftritt, wird der Inhalt dieser Struktur durch den Inhalt der Datendatei ersetzt, die durch lpNewFileangegeben wird.

Weitere Informationen finden Sie unter Registrierungselementgrößenbeschränkungen.

[in] lpNewFile

Der Name der Datei mit den Registrierungsinformationen. Diese Datei wird in der Regel mithilfe der RegSaveKey--Funktion erstellt.

[in] lpOldFile

Der Name der Datei, die eine Sicherungskopie der ersetzten Registrierungsinformationen empfängt.

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 FORMAT_MESSAGE_FROM_SYSTEM Flag verwenden, um eine allgemeine Beschreibung des Fehlers zu erhalten.

Bemerkungen

Es gibt zwei verschiedene Registrierungsstrukturdateiformate. Registrierungsstrukturen, die auf aktuellen Betriebssystemen erstellt wurden, können in der Regel nicht von früheren geladen werden.

Die vom lpNewFile Parameter angegebene Datei bleibt geöffnet, bis das System neu gestartet wird.

Wenn hKey- ein Handle ist, das von RegConnectRegistryzurückgegeben wird, sind die in lpNewFile angegebenen Pfade und lpOldFile- relativ zum Remotecomputer.

Der Aufrufvorgang muss über die SE_RESTORE_NAME und SE_BACKUP_NAME Berechtigungen auf dem Computer verfügen, auf dem sich die Registrierung befindet. Weitere Informationen finden Sie unter Ausführen mit speziellen Rechten.

Anmerkung

Der winreg.h-Header definiert RegReplaceKey als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows 2000 Professional [nur Desktop-Apps]
mindestens unterstützte Server- Windows 2000 Server [nur Desktop-Apps]
Zielplattform- Fenster
Header- winreg.h (enthalten Windows.h)
Library Advapi32.lib
DLL- Advapi32.dll

Siehe auch

RegConnectRegistry-

RegDeleteKey-

RegLoadKey-

RegRestoreKey-

RegSaveKey-

Registrierungsfunktionen

Registrierungsübersicht