Saves the specified key and all of its subkeys and values to a new file, in the standard format.
To specify the format for the saved key or hive, use the RegSaveKeyEx function.
Syntax
LONG WINAPI RegSaveKey(
__in HKEY hKey,
__in LPCTSTR lpFile,
__in_opt LPSECURITY_ATTRIBUTES lpSecurityAttributes
);
Parameters
- hKey [in]
-
A handle to an open registry key.
- lpFile [in]
-
The name of the file in which the specified key and subkeys are to be saved. If the file already exists, the function fails.
If the string does not include a path, the file is created in the current directory of the calling process for a local key, or in the %systemroot%\system32 directory for a remote key. The new file has the archive attribute.
- lpSecurityAttributes [in, optional]
-
A pointer to a
SECURITY_ATTRIBUTES structure that specifies a security descriptor for the new file. If lpSecurityAttributes is NULL, the file gets a default security descriptor. The ACLs in a default security descriptor for a file are inherited from its parent directory.
Return Value
If the function succeeds, the return value is ERROR_SUCCESS.
If the function fails, the return value is a nonzero error code defined in Winerror.h. You can use the
FormatMessage function with the FORMAT_MESSAGE_FROM_SYSTEM flag to get a generic description of the error.
If the file already exists, the function fails with the ERROR_ALREADY_EXISTS error.
Remarks
If hKey represents a key on a remote computer, the path described by lpFile is relative to the remote computer.
The
RegSaveKey function saves only nonvolatile keys. It does not save volatile keys. A key is made volatile or nonvolatile at its creation; see
RegCreateKeyEx.
You can use the file created by
RegSaveKey in subsequent calls to the
RegLoadKey,
RegReplaceKey, or
RegRestoreKey functions. If
RegSaveKey fails part way through its operation, the file will be corrupt and subsequent calls to
RegLoadKey,
RegReplaceKey, or
RegRestoreKey for the file will fail.
RegSaveKey is often used in conjunction with
RegRestoreKey to copy subtrees in the registry. An alternative to this approach is to use the
SHCopyKey function.
The calling process must have the SE_BACKUP_NAME privilege enabled. For more information, see
Running with Special Privileges.
Requirements
| Minimum supported client | Windows 2000 Professional |
| Minimum supported server | Windows 2000 Server |
| Header | Winreg.h (include Windows.h) |
| Library | Advapi32.lib |
| DLL | Advapi32.dll |
| Unicode and ANSI names | RegSaveKeyW (Unicode) and RegSaveKeyA (ANSI) |
See Also
- RegCreateKeyEx
- RegDeleteKey
- Registry Files
- Registry Functions
- RegLoadKey
- RegReplaceKey
- RegRestoreKey
- RegSaveKeyEx
- SECURITY_ATTRIBUTES
Send comments about this topic to Microsoft
Build date: 10/8/2009