RegOpenCurrentUser Function

Retrieves a handle to the HKEY_CURRENT_USER key for the user the current thread is impersonating.

Syntax

C++
LONG WINAPI RegOpenCurrentUser(
  __in   REGSAM samDesired,
  __out  PHKEY phkResult
);

Parameters

samDesired [in]

A mask that specifies the desired access rights to the key. The function fails if the security descriptor of the key does not permit the requested access for the calling process. For more information, see Registry Key Security and Access Rights.

phkResult [out]

A pointer to a variable that receives a handle to the opened key. When you no longer need the returned handle, call the RegCloseKey function to close it.

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

The HKEY_CURRENT_USER key maps to the root of the current user's branch in the HKEY_USERS key. It is cached for all threads in a process. Therefore, this value does not change when another user's profile is loaded. RegOpenCurrentUser uses the thread's token to access the appropriate key, or the default if the profile is not loaded.

Requirements

Minimum supported clientWindows 2000 Professional
Minimum supported serverWindows 2000 Server
HeaderWinreg.h (include Windows.h)
LibraryAdvapi32.lib
DLLAdvapi32.dll

See Also

RegCloseKey
Registry Functions
Registry Overview

Send comments about this topic to Microsoft

Build date: 11/19/2009

Tags :


Community Content

hemp
Consider using RegDisablePredefinedCache instead

Although there may be some cases where this is the ideal approach, it seems quite likely that in many cases what you'd rather use instead of RegOpenCurrentUser everywhere is a single call in your service to RegDisablePredefinedCache or RegDisablePredefinedCacheEx.

Disabling the caching overall is much safer than relying on your ability to remember to never access HKCU through the RegOpenKey and RegCreateKey APIs directly.

Tags :

Page view tracker