Share via


RegRestoreKeyA-Funktion (winreg.h)

Liest die Registrierungsinformationen in einer angegebenen Datei und kopiert sie über den angegebenen Schlüssel. Diese Registrierungsinformationen können in Form eines Schlüssels und mehrerer Unterschlüsselebenen vorliegen.

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

Syntax

LSTATUS RegRestoreKeyA(
  [in] HKEY   hKey,
  [in] LPCSTR lpFile,
  [in] DWORD  dwFlags
);

Parameter

[in] hKey

Ein Handle für einen geöffneten Registrierungsschlüssel. Dieses Handle wird von der RegCreateKeyEx- oder RegOpenKeyEx-Funktion zurückgegeben. Es kann auch einer der folgenden vordefinierten Schlüssel sein:

HKEY_CLASSES_ROOTHKEY_CURRENT_CONFIGHKEY_CURRENT_USERHKEY_LOCAL_MACHINEHKEY_USERS Alle Informationen, die in diesem Schlüssel und seinen untergeordneten Schlüsseln enthalten sind, werden von den Informationen in der Datei überschrieben, auf die der lpFile-Parameter verweist.

[in] lpFile

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

[in] dwFlags

Die Flags, die angeben, wie die Schlüssel wiederhergestellt werden sollen. Dieser Parameter kann einen der folgenden Werte annehmen.

Wert Bedeutung
REG_FORCE_RESTORE
0x00000008L
Falls angegeben, wird der Wiederherstellungsvorgang ausgeführt, auch wenn geöffnete Handles an oder unterhalb des Speicherorts in der Registrierungshierarchie vorhanden sind, auf den der hKey-Parameter verweist.
REG_WHOLE_HIVE_VOLATILE
0x00000001L
Falls angegeben, wird ein neuer, flüchtiger Satz von Registrierungsinformationen (nur Arbeitsspeicher) oder Struktur erstellt. Wenn REG_WHOLE_HIVE_VOLATILE angegeben wird, muss der durch den hKey-Parameter identifizierte Schlüssel entweder der HKEY_USERS - oder HKEY_LOCAL_MACHINE-Wert sein.

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.

Wenn Unterschlüssel des hKey-Parameters geöffnet sind, schlägt RegRestoreKey fehl.

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.

Diese Funktion ersetzt die Schlüssel und Werte unterhalb des angegebenen Schlüssels durch die Schlüssel und Werte, die dem Schlüssel der obersten Ebene in der Datei zugeordnet sind, unabhängig davon, wie der Name des Schlüssels der obersten Ebene in der Datei sein könnte. Beispielsweise kann hKey einen Schlüssel A mit den Unterschlüsseln B und C identifizieren, während der lpFile-Parameter eine Datei mit dem Schlüssel X mit den Unterschlüsseln Y und Z angibt. Nach einem Aufruf von RegRestoreKey enthält die Registrierung den Schlüssel A mit den Unterschlüsseln Y und Z. Die Werteinträge von A würden durch die Werteinträge von X ersetzt.

Die neuen Informationen in der von lpFile angegebenen Datei überschreiben den Inhalt des durch den hKey-Parameter angegebenen Schlüssels, mit Ausnahme des Schlüsselnamens.

Wenn hKey einen Schlüssel auf einem Remotecomputer darstellt, ist der von lpFile beschriebene Pfad relativ zum Remotecomputer.

Hinweis

Der winreg.h-Header definiert RegRestoreKey als Alias, der automatisch die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante 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

RegDeleteKey

RegLoadKey

RegReplaceKey

RegSaveKey

Registrierungsfunktionen

Registrierungsübersicht