RegSaveKey (Windows CE 5.0)
This function saves the specified key and all of its subkeys and values to a new file. If the specified key is not a predefined ROOT, it backs up to the ROOT of the hKey and saves there.
LONGRegSaveKey(HKEYhKey,LPCTSTRlpFile,LPSECURITY_ATTRIBUTESlpSecurityAttributes);
Parameters
- hKey
[in] Specifies a handle to the key where the save operation is to begin, or any of the following predefined reserved handle values:- HKEY_CLASSES_ROOT
- HKEY_CURRENT_USER
- HKEY_LOCAL_MACHINE
- HKEY_USERS
- lpFile
[in] Pointer to a null-terminated string containing the name of the file in which the specified key and subkeys are saved. - lpSecurityAttributes
[in] Must be NULL.
Return Values
If the function succeeds, the return value is ERROR_SUCCESS.
The function may fail with GetLastError returning ERROR_NOT_SUPPORTED because it is not supported on the object store-based registry.
If the function fails, the return value is a nonzero error code defined in Winerror.h. You can use FormatMessage with the FORMAT_MESSAGE_FROM_SYSTEM flag to get a generic description of the error.
Remarks
The RegSaveKey API is only supported by the hive-based registry. To save and restore data in the object store-based registry, see RegCopyFile and RegRestoreFile.
While you can call RegSaveKey with any registry key, in effect it only provides two choices. If it is called with HKEY_LOCAL_MACHINE, HKEY_CLASSES_ROOT, HKEY_USERS, or any key under those roots, it saves a copy of the entire system hive, which includes all keys under these roots. If it is called with HKEY_CURRENT_USER or any key under it, it saves a copy of the entire user hive, which includes all keys under HKEY_CURRENT_USER.
You can use the file created by RegSaveKey in subsequent calls to RegReplaceKey with HKEY_LOCAL_MACHINE to restore the system registry hive. To restore a saved user hive, move the file into the user's profile directory while the user is not logged in. Subsequent calls to SetCurrentUser will use the restored hive.
Requirements
OS Versions: Windows CE .NET 4.0 and later.
Header: Pwinreg.h.
Link Library: Coredll.lib.
See Also
RegReplaceKey | SetCurrentUser | FormatMessage | RegCopyFile | RegRestoreFile | Persisting Data with the Hive-Based Registry
Send Feedback on this topic to the authors