RegSaveKeyExA 函式 (winreg.h)

以指定的格式,將指定的機碼及其所有子機碼和值儲存至登錄檔。

備份或還原系統狀態的應用程式,包括系統檔案和登錄區應該使用 磁碟區陰影複製服務 ,而不是登錄功能。

語法

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

參數

[in] hKey

開啟登錄機碼的句柄。

此函式不支持 預先定義的索引鍵HKEY_CLASSES_ROOT

[in] lpFile

要儲存指定之索引鍵和子機碼的檔名。 如果檔案已經存在,函式就會失敗。

新檔案具有封存屬性。

如果字串不包含路徑,檔案會建立在本機密鑰呼叫程式的目前目錄中,或在遠端密鑰的 %systemroot%\system32 目錄中建立。

[in, optional] lpSecurityAttributes

指定新檔案之安全性描述項之 SECURITY_ATTRIBUTES 結構的指標。 如果 lpSecurityAttributesNULL,則檔案會取得預設的安全性描述元。 檔案的預設安全性描述元中的 ACL 會繼承自其父目錄。

[in] Flags

儲存的金鑰或 Hive 的格式。 此參數可以是下列其中一個值。

意義
REG_STANDARD_FORMAT
1
金鑰或 Hive 會以標準格式儲存。 標準格式是 Windows 2000 唯一支援的格式。
REG_LATEST_FORMAT
2
金鑰或 Hive 會以最新的格式儲存。 從 Windows XP 開始,支援最新的格式。 儲存此格式的機碼或Hive之後,就無法在舊版系統上載入。
REG_NO_COMPRESSION
4
Hive 不會儲存壓縮,以加快儲存作業的速度。 hKey 參數必須在 HKEY_LOCAL_MACHINE HKEY_USERS 下指定hive的根目錄。 例如, HKLM\SOFTWARE 是 Hive 的根目錄。

傳回值

如果函式成功,傳回值會ERROR_SUCCESS。

如果函式失敗,傳回值是 Winerror.h 中定義的非零錯誤碼。 您可以使用 FormatMessage 函式搭配 FORMAT_MESSAGE_FROM_SYSTEM 旗標來取得錯誤的泛型描述。

如果針對 Flags 參數所列出的多個可能值是在呼叫此函式時指定,例如,如果兩個以上的值是 ORed,或者如果指定了REG_NO_COMPRESSION, 而 hKey 會指定不是 hive 根目錄的索引鍵,則此函式會傳回ERROR_INVALID_PARAMETER。

備註

不同於 RegSaveKey,此函式不支援 預先定義的索引鍵HKEY_CLASSES_ROOT

如果 hKey 代表遠端電腦上的金鑰, lpFile 所描述的路徑會相對於遠端電腦。

RegSaveKeyEx 函式只會儲存非volatile 索引鍵。 它不會儲存變動性索引鍵。 索引鍵會在建立時變成變動性或非volatile;請參閱 RegCreateKeyEx

您可以在後續對 RegLoadKeyRegReplaceKeyRegRestoreKey 函式的呼叫中使用 RegSaveKeyEx 所建立的檔案。 如果 RegSaveKeyEx 在作業過程中失敗,檔案將會損毀,而檔案的後續呼叫 RegLoadKeyRegReplaceKeyRegRestoreKey 將會失敗。

不建議在登錄中使用 RegSaveKeyExRegRestoreKey 來複製子樹。 這個方法不會觸發通知,而且可能會使其他應用程式所使用的句柄失效。 請改用 SHCopyKey 函式或 RegCopyTree 函式。

呼叫進程必須啟用SE_BACKUP_NAME許可權。 如需詳細資訊,請參閱 使用特殊許可權執行

注意

winreg.h 標頭會根據 UNICODE 預處理器常數的定義,將 RegSaveKeyEx 定義為別名,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例

規格需求

需求
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限傳統型應用程式]
目標平台 Windows
標頭 winreg.h (包括 Windows.h)
程式庫 Advapi32.lib
Dll Advapi32.dll

另請參閱

RegCreateKeyEx

RegDeleteKey

RegLoadKey

RegReplaceKey

RegRestoreKey

RegSaveKey

登錄檔

登錄函式

SECURITY_ATTRIBUTES