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 将配置单元保存到文件之前,不会保留更改。

dwOsMajorVersiondwOsMinorVersion 参数共同指定注册表配置单元文件的目标格式。 下表汇总了最新的操作系统版本号。

操作系统 版本号
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 函数在将配置单元写入文件时锁定注册表配置单元,然后关闭文件并释放锁。 注册表配置单元保留在内存中,直到通过调用 ORCloseHive 函数关闭它。 可以在注册表配置单元打开时对其进行进一步更改;但是,若要保留这些更改,必须将配置单元保存到新文件中,因为 ORSaveHive 函数不会覆盖现有文件。

ORSaveHive 函数可用于保存部分脱机注册表配置单元。 Handle 参数中指定的键将成为由指定键及其所有子项组成的配置单元的根键。

要求

要求
可再发行组件
Windows 脱机注册表库 1.0 或更高版本
标头
Offreg.h
DLL
Offreg.dll

另请参阅

GetVersionEx

ORCloseHive

OROpenHive