RegLoadKeyA 函数 (winreg.h)
在 HKEY_USERS 或 HKEY_LOCAL_MACHINE 下创建子项,并将指定注册表配置单元中的数据加载到该子项中。
备份或还原系统状态(包括系统文件和注册表配置单元)的应用程序应使用 卷影复制服务 ,而不是注册表功能。
语法
LSTATUS RegLoadKeyA(
[in] HKEY hKey,
[in, optional] LPCSTR lpSubKey,
[in] LPCSTR lpFile
);
参数
[in] hKey
要在其中创建子项的键的句柄。 这可以是调用 RegConnectRegistry 返回的句柄,也可以是以下预定义句柄之一:
HKEY_LOCAL_MACHINEHKEY_USERS 此函数始终在注册表层次结构的顶部加载信息。 不能为此参数指定 HKEY_CLASSES_ROOT 和 HKEY_CURRENT_USER 句柄值,因为它们分别表示 HKEY_LOCAL_MACHINE 和 HKEY_USERS 句柄值的子集。
[in, optional] lpSubKey
将在 hKey 下创建的密钥的名称。 此子项是将加载文件中的注册信息的位置。
键名称不区分大小写。
有关详细信息,请参阅 注册表元素大小限制。
[in] lpFile
包含注册表数据的文件的名称。 此文件必须是使用 RegSaveKey 函数创建的本地文件。 如果此文件不存在,则会创建具有指定名称的文件。
返回值
如果函数成功,则返回值为 ERROR_SUCCESS。
如果函数失败,则返回值为 Winerror.h 中定义的非零错误代码。 可以将 FormatMessage 函数与 FORMAT_MESSAGE_FROM_SYSTEM 标志一起使用,以获取错误的泛型说明。
注解
有两种注册表配置单元文件格式。 在当前操作系统上创建的注册表配置单元通常无法由早期操作系统加载。
如果 hKey 是 RegConnectRegistry 返回的句柄,则 lpFile 中指定的路径相对于远程计算机。
调用进程必须在注册表所在的计算机上具有SE_RESTORE_NAME和SE_BACKUP_NAME特权。 有关详细信息,请参阅使用特殊特权运行。 若要在不要求这些特殊权限的情况下加载配置单元,请使用 RegLoadAppKey 函数。
注意
winreg.h 标头将 RegLoadKey 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名的使用与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | winreg.h (包括 Windows.h) |
Library | Advapi32.lib |
DLL | Advapi32.dll |