ORSaveHive 函式
將指定的離線登錄區寫入檔案。
語法
DWORD ORSaveHive(
_In_ ORHKEY Handle,
_In_ PCWSTR lpHivePath,
_In_ DWORD dwOsMajorVersion,
_In_ DWORD dwOsMinorVersion
);
參數
-
處理 [in]
-
要儲存之離線登錄區控制碼。
-
lpHivePath [in]
-
指定登錄區檔名稱之 Unicode 字串的指標。 這不可以是現有檔案的名稱。
-
dwOsMajorVersion [in]
-
作業系統的主要版本號碼。 這個成員可以是下列其中一個值。
值 意義 - 5
如果 dwOsMinorVersion 為 1,則作業系統為 Windows XP。
如果 dwOsMinorVersion 為 2,作業系統為 Windows Server 2003 R2、Windows Server 2003 或 Windows XP Professional x64 Edition。- 6
如果 dwOsMinorVersion 為 0,則作業系統為 Windows Server 2008 或 Windows Vista。
如果 dwOsMinorVersion 為 1,則作業系統為 Windows Server 2008 R2 或 Windows 7。 -
dwOsMinorVersion [in]
-
作業系統的次要版本號碼。 這個成員可以是下列其中一個值。
值 意義 - 0
如果 dwOsMajorVersion 為 6,則作業系統為 Windows Server 2008 或 Windows Vista。 - 1
如果 dwOsMajorVersion 為 5,則作業系統為 Windows XP。
如果 dwOsMajorVersion 為 6,作業系統為 Windows Server 2008 R2 或 Windows 7。- 2
如果 dwOsMajorVersion 為 5,作業系統為 Windows Server 2003 R2、Windows Server 2003 或 Windows XP Professional x64 Edition。
如果 dwOsMajorVersion 為 6, dwOsMinorVersion 參數必須是 0 或 1。
傳回值
如果函式成功,傳回值會ERROR_SUCCESS。
如果函式失敗,傳回值是 Winerror.h 中定義的非零錯誤碼。 您可以使用 FormatMessage 函式搭配 FORMAT_MESSAGE_FROM_SYSTEM 旗標,以取得錯誤的一般描述。 可能的錯誤碼包括:
- 如果呼叫端沒有寫入檔案所需的存取權限,函式會傳回ERROR_ACCESS_DENIED。
- 如果指定的檔案已經存在,函式會傳回ERROR_ALREADY_EXISTS。
備註
ORSaveHive函式必須用來儲存對離線登錄區所做的變更。 在呼叫 ORSaveHive 以將 Hive 儲存至檔案之前,不會保留變更。
dwOsMajorVersion和dwOsMinorVersion參數會同時指定登錄區檔案的目標格式。 下表摘要說明最新的作業系統版本號碼。
作業系統 | 版本號碼 |
---|---|
Windows Server 2008 R2 | 6.1 |
Windows 7 | 6.1 |
Windows Server 2008 | 6.0 |
Windows Vista | 6.0 |
Windows Server 2003 R2 | 5.2 |
Windows Server 2003 | 5.2 |
Windows XP Professional x64 Edition | 5.2 |
Windows XP | 5.1 |
使用 GetVersionEx 函式來擷取目前作業系統的相關資訊。
ORSaveHive函式會在將 Hive 寫入檔案時鎖定登錄區,然後關閉檔案並釋放鎖定。 登錄區會保留在記憶體中,直到呼叫 ORCloseHive 函式關閉為止。 在登錄區開啟時,可能會對登錄區進行進一步的變更;不過,若要保留這些變更,Hive 必須儲存到新的檔案,因為 ORSaveHive 函式不會覆寫現有的檔案。
ORSaveHive函式可用來儲存離線登錄區中的一部分。 Handle參數中指定的索引鍵會成為 Hive 的根索引鍵,其中包含指定的索引鍵及其所有子機碼。
規格需求
需求 | 值 |
---|---|
可轉散發套件 |
Windows 離線登錄程式庫 1.0 版或更新版本 |
標頭 |
|
DLL |
|
另請參閱