RegOpenKeyEx
The RegOpenKeyEx
function opens the specified key.
LONG RegOpenKeyEx(
|
HKEY hKey, |
// handle of open
key |
|
LPCTSTR lpSubKey, |
// address of name
of subkey to open |
|
DWORD ulOptions, |
// reserved |
|
REGSAM samDesired, |
// security access
mask |
|
PHKEY phkResult |
// address of
handle of open key |
|
); |
|
Parameters
hKey
Identifies a
currently open key or any of the following predefined reserved handle values:
HKEY_CLASSES_ROOT
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_USERS
lpSubKey
Points to a
null-terminated string containing the name of the subkey to open. If this parameter
is NULL or a pointer to an empty string, the function will open a new handle of
the key identified by the hKey parameter. In this case, the function
will not close the handles previously opened.
ulOptions
Reserved;
must be zero.
samDesired
Specifies an
access mask that describes the desired security access for the new key. This
parameter can be a combination of the following values:
|
Value |
Meaning |
|
KEY_ALL_ACCESS |
Combination
of KEY_QUERY_VALUE, KEY_ENUMERATE_SUB_KEYS, KEY_NOTIFY, KEY_CREATE_SUB_KEY,
KEY_CREATE_LINK, and KEY_SET_VALUE access. |
|
KEY_CREATE_LINK |
Permission
to create a symbolic link. |
|
KEY_CREATE_SUB_KEY |
Permission
to create subkeys. |
|
KEY_ENUMERATE_SUB_KEYS |
Permission
to enumerate subkeys. |
|
KEY_EXECUTE |
Permission
for read access. |
|
KEY_NOTIFY |
Permission
for change notification. |
|
KEY_QUERY_VALUE |
Permission
to query subkey data. |
|
KEY_READ |
Combination
of KEY_QUERY_VALUE, KEY_ENUMERATE_SUB_KEYS, and KEY_NOTIFY access. |
|
KEY_SET_VALUE |
Permission
to set subkey data. |
|
KEY_WRITE |
Combination
of KEY_SET_VALUE and KEY_CREATE_SUB_KEY access. |
phkResult
Points to a
variable that receives the handle of the opened key.
Return Values
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
Unlike the RegCreateKeyEx
function, the RegOpenKeyEx function does not create the specified key if
the key does not exist in the registry.
See Also