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.
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 |