Freigeben über


RegSaveKeyExW-Funktion (winreg.h)

Speichert den angegebenen Schlüssel und alle zugehörigen Unterschlüssel und Werte in einer Registrierungsdatei im angegebenen Format.

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

Syntax

LSTATUS RegSaveKeyExW(
  [in]           HKEY                        hKey,
  [in]           LPCWSTR                     lpFile,
  [in, optional] const LPSECURITY_ATTRIBUTES lpSecurityAttributes,
  [in]           DWORD                       Flags
);

Parameter

[in] hKey

Ein Handle zu einem geöffneten Registrierungsschlüssel.

Diese Funktion unterstützt den HKEY_CLASSES_ROOT vordefinierten Schlüssel nicht.

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

Die neue Datei weist das Archiv-Attribut auf.

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.

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

[in] Flags

Das Format des gespeicherten Schlüssels oder der Struktur. Dieser Parameter kann einer der folgenden Werte sein:

Wert Bedeutung
REG_STANDARD_FORMAT
1
Der Schlüssel oder die Struktur wird im Standardformat gespeichert. Das Standardformat ist das einzige von Windows 2000 unterstützte Format.
REG_LATEST_FORMAT
2
Der Schlüssel oder die Struktur wird im neuesten Format gespeichert. Das neueste Format wird ab Windows XP unterstützt. Nachdem der Schlüssel oder die Struktur in diesem Format gespeichert wurde, kann er nicht auf einem früheren System geladen werden.
REG_NO_COMPRESSION
4
Die Struktur wird ohne Komprimierung gespeichert, um schnellere Speichervorgänge zu ermöglichen. Der hKey--Parameter muss den Stamm einer Struktur unter HKEY_LOCAL_MACHINE oder HKEY_USERSangeben. Beispielsweise ist HKLM\SOFTWARE der Stamm einer Struktur.

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 mehrere der oben aufgeführten möglichen Werte für den Flags Parameter in einem Aufruf dieser Funktion angegeben werden, z. B. wenn zwei oder mehr Werte OR'ed sind oder REG_NO_COMPRESSION angegeben wird und hKey einen Schlüssel angibt, der nicht der Stamm einer Struktur ist, gibt diese Funktion ERROR_INVALID_PARAMETER zurück.

Bemerkungen

Im Gegensatz zu RegSaveKey-unterstützt diese Funktion den HKEY_CLASSES_ROOT vordefinierten Schlüssel nicht.

Wenn hKey- einen Schlüssel auf einem Remotecomputer darstellt, ist der pfad, der von lpFile- beschrieben wird, relativ zum Remotecomputer.

Die RegSaveKeyEx--Funktion speichert nur nichtvolatile Tasten. 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 RegSaveKeyEx erstellte Datei in nachfolgenden Aufrufen der RegLoadKey-, RegReplaceKey-oder RegRestoreKey--Funktion verwenden. Wenn RegSaveKeyEx- einen Teil des Vorgangs fehlschlägt, ist die Datei beschädigt und nachfolgende Aufrufe an RegLoadKey, RegReplaceKeyoder RegRestoreKey- für die Datei schlägt fehl.

Die Verwendung von RegSaveKeyEx 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 RegSaveKeyEx 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

Anforderung Wert
mindestens unterstützte Client- Windows XP [nur Desktop-Apps]
mindestens unterstützte Server- Windows Server 2003 [Nur Desktop-Apps]
Zielplattform- Fenster
Header- winreg.h (enthalten Windows.h)
Library Advapi32.lib
DLL- Advapi32.dll

Siehe auch

RegCreateKeyEx-

RegDeleteKey-

RegLoadKey-

RegReplaceKey-

RegRestoreKey-

RegSaveKey-

Registrierungsdateien

Registrierungsfunktionen

SECURITY_ATTRIBUTES