RegOpenKey

From aldeid
Jump to navigation Jump to search

Description

Opens a handle to a registry key for reading and editing. Registry keys are sometimes written as a way for software to achieve persistence on a host. The registry also contains a whole host of operating system and application setting information.

Syntax

LONG WINAPI RegOpenKey(
  _In_     HKEY    hKey,
  _In_opt_ LPCTSTR lpSubKey,
  _Out_    PHKEY   phkResult
);

Parameters

hKey [in]
A handle to an open registry key. This handle is returned by the RegCreateKeyEx or RegOpenKeyEx function, or it can be one of the following predefined keys:
  • HKEY_CLASSES_ROOT
  • HKEY_CURRENT_CONFIG
  • HKEY_CURRENT_USER
  • HKEY_LOCAL_MACHINE
  • HKEY_USERS
lpSubKey [in, optional]
The name of the registry key to be opened. This key must be a subkey of the key identified by the hKey parameter.
Key names are not case sensitive.
If this parameter is NULL or a pointer to an empty string, the function returns the same handle that was passed in.
phkResult [out]
A pointer to a variable that receives a handle to the opened key. If the key is not one of the predefined registry keys, call the RegCloseKey function after you have finished using the handle.

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.