RegSaveKeyA-Funktion (winreg.h)
Speichert den angegebenen Schlüssel und alle zugehörigen Unterschlüssel und Werte in einer neuen Datei im Standardformat.
Um das Format für den gespeicherten Schlüssel oder die Struktur anzugeben, verwenden Sie die RegSaveKeyEx--Funktion.
Anwendungen, die den Systemstatus sichern oder wiederherstellen, einschließlich Systemdateien und Registrierungsstruktur, sollten den Volume Shadow Copy Service anstelle der Registrierungsfunktionen verwenden.
Syntax
LSTATUS RegSaveKeyA(
[in] HKEY hKey,
[in] LPCSTR lpFile,
[in, optional] const LPSECURITY_ATTRIBUTES lpSecurityAttributes
);
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_ROOT
- HKEY_CURRENT_USER
[in] lpFile
Der Name der Datei, in der der angegebene Schlüssel und Unterschlüssel gespeichert werden sollen. Wenn die Datei bereits vorhanden ist, schlägt die Funktion fehl.
Wenn die Zeichenfolge keinen Pfad enthält, wird die Datei im aktuellen Verzeichnis des Aufrufvorgangs für einen lokalen Schlüssel oder im Verzeichnis %systemroot%\system32 für einen Remoteschlüssel erstellt. Die neue Datei weist das Archiv-Attribut auf.
[in, optional] lpSecurityAttributes
Ein Zeiger auf eine SECURITY_ATTRIBUTES Struktur, die einen Sicherheitsdeskriptor für die neue Datei angibt. Wenn lpSecurityAttributesNULL-ist, erhält die Datei einen Standardsicherheitsdeskriptor. Die ACLs in einem Standardsicherheitsdeskriptor für eine Datei werden vom übergeordneten Verzeichnis geerbt.
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.
Wenn die Datei bereits vorhanden ist, schlägt die Funktion mit dem ERROR_ALREADY_EXISTS Fehler fehl.
Bemerkungen
Wenn hKey- einen Schlüssel auf einem Remotecomputer darstellt, ist der pfad, der von lpFile- beschrieben wird, relativ zum Remotecomputer.
Die RegSaveKey--Funktion speichert nur nicht volatile Schlüssel. Sie speichert keine veränderliche Schlüssel. Ein Schlüssel wird bei seiner Entstehung veränderlich oder unveränderlich gemacht; siehe RegCreateKeyEx.
Sie können die von RegSaveKey erstellte Datei in nachfolgenden Aufrufen der RegLoadKey-, RegReplaceKey-oder RegRestoreKey--Funktionen verwenden. Wenn RegSaveKey einen Teil des Vorgangs fehlschlägt, ist die Datei beschädigt und nachfolgende Aufrufe von RegLoadKey, RegReplaceKeyoder RegRestoreKey- für die Datei schlägt fehl.
Die Verwendung RegSaveKey zusammen mit RegRestoreKey- zum Kopieren von Unterstrukturen in der Registrierung wird nicht empfohlen. Diese Methode löst keine Benachrichtigungen aus und kann Handles, die von anderen Anwendungen verwendet werden, ungültig werden. Verwenden Sie stattdessen die funktion SHCopyKey oder die RegCopyTree Funktion.
Der Aufrufvorgang muss die SE_BACKUP_NAME Berechtigung aktiviert haben. Weitere Informationen finden Sie unter Ausführen mit speziellen Rechten.
Anmerkung
Der winreg.h-Header definiert RegSaveKey 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 |