RegReplaceKeyA-Funktion (winreg.h)

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

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

Syntax

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

Parameter

[in] hKey

Ein Handle für einen 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 handelt:

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 Strukturstruktur, bis ein Hive-Stamm gefunden wird. Dann ersetzt er den Inhalt dieser Struktur durch den Inhalt der von lpNewFile angegebenen Datendatei.

Weitere Informationen finden Sie unter Größenbeschränkungen für Registrierungselemente.

[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 flag FORMAT_MESSAGE_FROM_SYSTEM verwenden, um eine generische Beschreibung des Fehlers abzurufen.

Hinweise

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

Die durch den parameter lpNewFile angegebene Datei bleibt geöffnet, bis das System neu gestartet wird.

Wenn hKey ein von RegConnectRegistry zurückgegebenes Handle ist, sind die in lpNewFile und lpOldFile angegebenen Pfade relativ zum Remotecomputer.

Der aufrufende Prozess 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 Berechtigungen.

Hinweis

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 nicht codierungsneutralem Code 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
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

RegConnectRegistry

RegDeleteKey

RegLoadKey

RegRestoreKey

RegSaveKey

Registrierungsfunktionen

Registrierungsübersicht