RegRestoreKeyA-Funktion (winreg.h)
Liest die Registrierungsinformationen in einer angegebenen Datei und kopiert sie über den angegebenen Schlüssel. Diese Registrierungsinformationen können sich in Form eines Schlüssels und mehrerer Ebenen von Unterschlüsseln befinden.
Anwendungen, die den Systemstatus sichern oder wiederherstellen, einschließlich Systemdateien und Registrierungsstruktur, sollten den Volume Shadow Copy Service anstelle der Registrierungsfunktionen verwenden.
Syntax
LSTATUS RegRestoreKeyA(
[in] HKEY hKey,
[in] LPCSTR lpFile,
[in] DWORD dwFlags
);
Parameter
[in] hKey
Ein Handle zu einem geöffneten Registrierungsschlüssel. Dieses Handle wird von der RegCreateKeyEx-- oder RegOpenKeyEx--Funktion zurückgegeben. Es kann auch einer der folgenden vordefinierten Schlüsselsein:
HKEY_CLASSES_ROOTHKEY_CURRENT_CONFIGHKEY_CURRENT_USERHKEY_LOCAL_MACHINEHKEY_USERS Alle Informationen, die in diesem Schlüssel enthalten sind, und die untergeordneten Schlüssel werden von den Informationen in der Datei überschrieben, auf die durch den parameter lpFile verwiesen wird.
[in] lpFile
Der Name der Datei mit den Registrierungsinformationen. Diese Datei wird in der Regel mithilfe der RegSaveKey--Funktion erstellt.
[in] dwFlags
Die Kennzeichen, die angeben, wie der Schlüssel oder die Tasten wiederhergestellt werden sollen. Dieser Parameter kann einer der folgenden Werte 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 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.
Wenn alle Unterschlüssel des hKey--Parameters geöffnet sind, schlägt RegRestoreKey fehl.
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.
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 subsidiär sind, unabhängig vom Namen des Schlüssels der obersten Ebene in der Datei. Beispielsweise kann hKey- einen Schlüssel A mit Unterschlüsseln B und C identifizieren, während der parameter lpFile eine Datei mit schlüssel X mit Unterschlüsseln Y und Z angibt. Nach einem Aufruf von RegRestoreKeywürde die Registrierung schlüssel A mit Unterschlüsseln Y und Z enthalten. Die Werteinträge von A würden durch die Werteinträge von X ersetzt.
Die neuen Informationen in der durch lpFile angegebenen Datei überschreibt den Inhalt des durch den hKey--Parameter angegebenen Schlüssels außer dem Schlüsselnamen.
Wenn hKey- einen Schlüssel auf einem Remotecomputer darstellt, ist der pfad, der von lpFile- beschrieben wird, relativ zum Remotecomputer.
Anmerkung
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 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 |