• 文档 /
  • RegLoadKey-在HKEY_USERS或HKEY_LOCAL_MACHINE下创建一个子项,并将来自指定文件的注册信息存储到该子项中

平台 SDK: Windows 系统信息

RegLoadKey

RegLoadKey函数在HKEY_USERS或HKEY_LOCAL_MACHINE下创建一个子项,并将来自指定文件的注册信息存储到该子项中。 此注册信息采用配置单元的形式。 配置单元是位于注册表层次结构顶部的键,子键和值的离散体。 配置单元由单个文件和.LOG文件支持。

LONG RegLoadKey(
  HKEY hKey,        // 打开的键句柄
  LPCTSTR lpSubKey, // 子键名称
  LPCTSTR lpFile    // 注册表文件名称
);

参数

  • hKey

  • [in] 指定将在其中创建子项的键。 这可以是预定义的预留句柄值,也可以是对RegConnectRegistry调用返回的句柄。 预定义的预留句柄值是:

    HKEY_LOCAL_MACHINE
    HKEY_USERS

    此函数始终在注册表层次结构的顶部加载信息。 无法为此参数指定HKEY_CLASSES_ROOT和HKEY_CURRENT_USER句柄值,因为它们分别代表HKEY_LOCAL_MACHINE和HKEY_USERS句柄值的子集。

  • lpSubKey

  • [in] 指向以空字符结尾的字符串的指针,该字符串指定要在hKey下创建的密钥的名称。 该子项是文件中的注册信息将被加载的地方。

  • lpFile

  • [in] 指向包含具有注册表信息的文件名称的以空字符结尾的字符串。 该文件必须已经使用RegSaveKey函数创建。 如果该文件不存在,则使用指定的名称创建文件。

    Windows 95/98/Me: RegLoadKey不支持长文件名。 如果所需文件具有长文件名,请使用短文件名进行加载。

返回值

如果函数成功,返回值是ERROR_SUCCESS。

如果函数失败,则返回值是Winerror.h中定义的非零错误代码。 您可以使用FormatMessage函数和FORMAT_MESSAGE_FROM_SYSTEM标志来获取错误的一般描述。

备注

如果hKey是由RegConnectRegistry返回的句柄,则lpFile中指定的路径是相对于远程计算机的。

Windows NT/2000/XP: 调用过程必须具有SE_RESTORE_NAME特权。 有关权限的更多信息,请参阅权限。

Windows 95/98/Me: 没有注册表子项或值名称可能超过255个字符。

Windows 95/98/Me: RegLoadKeyW由Microsoft Layer for Unicode支持。 要使用它,必须将某些文件添加到应用程序中,如Windows 95/98/Me系统上的Microsoft Layer for Unicode所述。

要求

  Windows NT/2000/XP: 包含在Windows NT 3.1和更高版本中。

  Windows 95/98/Me: 包含在Windows 95和更高版本中。

  头文件: 声明于 Winreg.h; 包含于  Windows.h.
  库: 使用Advapi32.lib.

  Unicode: 在Windows NT/2000/XP上作为Unicode和ANSI版本实现。 Microsoft层还支持Unicode。