RegSaveKeyW 函式 (winreg.h)
以標準格式,將指定的索引鍵及其所有子機碼和值儲存至新的檔案。
若要指定已儲存金鑰或 Hive 的格式,請使用 RegSaveKeyEx 函式。
備份或還原系統狀態的應用程式,包括系統檔案和登錄區應該使用 磁碟區陰影複製服務 ,而不是登錄功能。
語法
LSTATUS RegSaveKeyW(
[in] HKEY hKey,
[in] LPCWSTR lpFile,
[in, optional] const LPSECURITY_ATTRIBUTES lpSecurityAttributes
);
參數
[in] hKey
開啟登錄機碼的句柄。
RegCreateKeyEx 或 RegOpenKeyEx 函式會傳回此句柄,或者它可以是下列其中一個預先定義的索引鍵:
- HKEY_CLASSES_ROOT
- HKEY_CURRENT_USER
[in] lpFile
要儲存指定之索引鍵和子機碼的檔名。 如果檔案已經存在,函式就會失敗。
如果字串不包含路徑,檔案會建立在本機密鑰呼叫程式的目前目錄中,或在遠端密鑰的 %systemroot%\system32 目錄中建立。 新檔案具有封存屬性。
[in, optional] lpSecurityAttributes
指定新檔案之安全性描述項之 SECURITY_ATTRIBUTES 結構的指標。 如果 lpSecurityAttributes 為 NULL,則檔案會取得預設的安全性描述元。 檔案的預設安全性描述元中的 ACL 會繼承自其父目錄。
傳回值
如果函式成功,傳回值會ERROR_SUCCESS。
如果函式失敗,傳回值是 Winerror.h 中定義的非零錯誤碼。 您可以使用 FormatMessage 函式搭配 FORMAT_MESSAGE_FROM_SYSTEM 旗標來取得錯誤的泛型描述。
如果檔案已經存在,函式會失敗,併發生ERROR_ALREADY_EXISTS錯誤。
備註
如果 hKey 代表遠端電腦上的金鑰, lpFile 所描述的路徑會相對於遠端電腦。
RegSaveKey 函式只會儲存非volatile 索引鍵。 它不會儲存變動性索引鍵。 索引鍵會在建立時變成變動性或非volatile;請參閱 RegCreateKeyEx。
您可以在後續呼叫 RegLoadKey、RegReplaceKey 或 RegRestoreKey 函式時,使用 RegSaveKey 所建立的檔案。 如果 RegSaveKey 在作業過程中失敗,檔案將會損毀,而檔案的後續呼叫 RegLoadKey、 RegReplaceKey 或 RegRestoreKey 將會失敗。
不建議在登錄中使用 RegSaveKey 與 RegRestoreKey 來複製子樹。 這個方法不會觸發通知,而且可能會使其他應用程式所使用的句柄失效。 請改用 SHCopyKey 函式或 RegCopyTree 函式。
呼叫進程必須啟用SE_BACKUP_NAME許可權。 如需詳細資訊,請參閱 使用特殊許可權執行。
注意
winreg.h 標頭會將 RegSaveKey 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 專業版 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | winreg.h (包括 Windows.h) |
程式庫 | Advapi32.lib |
Dll | Advapi32.dll |