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
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