共用方式為


RegSaveKeyA 函式 (winreg.h)

以標準格式,將指定的索引鍵及其所有子機碼和值儲存至新的檔案。

若要指定已儲存金鑰或 Hive 的格式,請使用 RegSaveKeyEx 函 式。

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

語法

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

參數

[in] hKey

開啟登錄機碼的控制碼。

RegCreateKeyExRegOpenKeyEx函式會傳回此控制碼,或者它可以是下列其中一個預先定義的索引鍵

HKEY_CLASSES_ROOT
HKEY_CURRENT_USER

[in] lpFile

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

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

[in, optional] lpSecurityAttributes

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

傳回值

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

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

如果檔案已經存在,函式會失敗,並出現ERROR_ALREADY_EXISTS錯誤。

備註

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

RegSaveKey 函式只會儲存非捲動金鑰。 它不會儲存變動性金鑰。 索引鍵會在建立時變成變動性或非揮發性;請參閱 RegCreateKeyEx

您可以在後續呼叫 RegLoadKeyRegReplaceKeyRegRestoreKey函式時,使用RegSaveKey所建立的檔案。 如果RegSaveKey在其作業過程中失敗,檔案將會損毀,且檔案的RegLoadKey、RegReplaceKeyRegRestoreKey的後續呼叫將會失敗。

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

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

注意

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

規格需求

   
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限桌面應用程式]
目標平台 Windows
標頭 winreg.h (包含 Windows.h)
程式庫 Advapi32.lib
Dll Advapi32.dll

另請參閱

RegCreateKeyEx

RegDeleteKey

RegLoadKey

RegReplaceKey

RegRestoreKey

RegSaveKeyEx

登錄檔

登錄函式

SECURITY_ATTRIBUTES