RegSaveKeyA-Funktion (winreg.h)

Speichert den angegebenen Schlüssel und alle zugehörigen Unterschlüssel und Werte in einer neuen Datei im Standardformat.

Verwenden Sie die RegSaveKeyEx-Funktion , um das Format für den gespeicherten Schlüssel oder die Struktur anzugeben.

Anwendungen, die den Systemzustand sichern oder wiederherstellen, einschließlich Systemdateien und Registrierungsstrukturen, sollten anstelle der Registrierungsfunktionen den Volumeschattenkopiedienst verwenden.

Syntax

LSTATUS RegSaveKeyA(
  [in]           HKEY                        hKey,
  [in]           LPCSTR                      lpFile,
  [in, optional] const LPSECURITY_ATTRIBUTES lpSecurityAttributes
);

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_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 aufrufenden Prozesses für einen lokalen Schlüssel oder im Verzeichnis %systemroot%\system32 für einen Remoteschlüssel erstellt. Die neue Datei verfügt über das Archiv-Attribut.

[in, optional] lpSecurityAttributes

Ein Zeiger auf eine SECURITY_ATTRIBUTES-Struktur , die einen Sicherheitsdeskriptor für die neue Datei angibt. Wenn lpSecurityAttributesNULL ist, ruft die Datei einen Standardsicherheitsdeskriptor ab. 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 in Winerror.h definierter Fehlercode ungleich null. Sie können die FormatMessage-Funktion mit dem flag FORMAT_MESSAGE_FROM_SYSTEM verwenden, um eine generische Beschreibung des Fehlers abzurufen.

Wenn die Datei bereits vorhanden ist, schlägt die Funktion mit dem ERROR_ALREADY_EXISTS Fehler fehl.

Hinweise

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

Die RegSaveKey-Funktion speichert nur nicht flüchtige Schlüssel. Es werden keine flüchtigen Schlüssel gespeichert. Ein Schlüssel wird bei seiner Erstellung als flüchtig oder unflüchtig gemacht; siehe RegCreateKeyEx.

Sie können die von RegSaveKey erstellte Datei in nachfolgenden Aufrufen der Funktionen RegLoadKey, RegReplaceKey oder RegRestoreKey verwenden. Wenn RegSaveKey einen Teil des Vorgangs nicht durchläuft, ist die Datei beschädigt, und nachfolgende Aufrufe von RegLoadKey, RegReplaceKey oder RegRestoreKey für die Datei schlagen fehl.

Die Verwendung von RegSaveKey zusammen mit RegRestoreKey zum Kopieren von Unterstrukturen in der Registrierung wird nicht empfohlen. Diese Methode löst keine Benachrichtigungen aus und kann von anderen Anwendungen verwendete Handles ungültig werden. Verwenden Sie stattdessen die SHCopyKey-Funktion oder die RegCopyTree-Funktion .

Für den aufrufenden Prozess muss die berechtigung SE_BACKUP_NAME aktiviert sein. Weitere Informationen finden Sie unter Ausführen mit speziellen Berechtigungen.

Hinweis

Der winreg.h-Header definiert RegSaveKey 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 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

   
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 (Windows.h einschließen)
Bibliothek Advapi32.lib
DLL Advapi32.dll

Weitere Informationen

RegCreateKeyEx

RegDeleteKey

RegLoadKey

RegReplaceKey

RegRestoreKey

RegSaveKeyEx

Registrierungsdateien

Registrierungsfunktionen

SECURITY_ATTRIBUTES