6 out of 6 rated this helpful - Rate this topic

RegLoadKey function

Applies to: desktop apps only

Creates a subkey under HKEY_USERS or HKEY_LOCAL_MACHINE and loads the data from the specified registry hive into that subkey.

Applications that back up or restore system state including system files and registry hives should use the Volume Shadow Copy Service instead of the registry functions.

Syntax

LONG WINAPI RegLoadKey(
  __in      HKEY hKey,
  __in_opt  LPCTSTR lpSubKey,
  __in      LPCTSTR lpFile
);

Parameters

hKey [in]

A handle to the key where the subkey will be created. This can be a handle returned by a call to RegConnectRegistry, or one of the following predefined handles:

HKEY_LOCAL_MACHINE
HKEY_USERS

This function always loads information at the top of the registry hierarchy. The HKEY_CLASSES_ROOT and HKEY_CURRENT_USER handle values cannot be specified for this parameter, because they represent subsets of the HKEY_LOCAL_MACHINE and HKEY_USERS handle values, respectively.

lpSubKey [in, optional]

The name of the key to be created under hKey. This subkey is where the registration information from the file will be loaded.

Key names are not case sensitive.

For more information, see Registry Element Size Limits.

lpFile [in]

The name of the file containing the registry data. This file must be a local file that was created with the RegSaveKey function. If this file does not exist, a file is created with the specified name.

Return value

If the function succeeds, the return value is ERROR_SUCCESS.

If the function fails, the return value is a nonzero error code defined in Winerror.h. You can use the FormatMessage function with the FORMAT_MESSAGE_FROM_SYSTEM flag to get a generic description of the error.

Remarks

There are two registry hive file formats. Registry hives created on current operating systems typically cannot be loaded by earlier ones.

If hKey is a handle returned by RegConnectRegistry, then the path specified in lpFile is relative to the remote computer.

The calling process must have the SE_RESTORE_NAME and SE_BACKUP_NAME privileges on the computer in which the registry resides. For more information, see Running with Special Privileges. To load a hive without requiring these special privileges, use the RegLoadAppKey function.

Requirements

Minimum supported client

Windows 2000 Professional

Minimum supported server

Windows 2000 Server

Header

Winreg.h (include Windows.h)

Library

Advapi32.lib

DLL

Advapi32.dll

Unicode and ANSI names

RegLoadKeyW (Unicode) and RegLoadKeyA (ANSI)

See also

RegConnectRegistry
RegDeleteKey
Registry Functions
Registry Hive
RegLoadAppKey
RegReplaceKey
RegRestoreKey
RegSaveKey
RegUnLoadKey

 

 

Send comments about this topic to Microsoft

Build date: 3/6/2012

Did you find this helpful?
(1500 characters remaining)
Community Content Add
Annotations FAQ
Consider using LoadUserProfile to load a user's profile instead of using this directly
If you need access to a user's profile and it isn't loaded, use LoadUserProfile to load it instead of trying to find the user's ntuser.dat file and calling RegLoadKey on it. If you use RegLoadKey to load ntuser.dat, and are still holding a reference to the HKEY while the user tries to logon and load their profile, it can cause the profile to fail to load and the user will get the behavior described in http://support.microsoft.com/kb/947242. However, if you use LoadUserProfile and access the user's registry through HKEY_USERS\[sid] instead, then the requests are serialized and refcounted by the profile service so that it will not interfere with logon.