SHRegCreateUSKeyA function (shlwapi.h)

Creates or opens a registry subkey in a user-specific subtree (HKEY_CURRENT_USER or HKEY_LOCAL_MACHINE).

Syntax

LSTATUS SHRegCreateUSKeyA(
  [in]           LPCSTR  pszPath,
  [in]           REGSAM  samDesired,
  [in, optional] HUSKEY  hRelativeUSKey,
  [out]          PHUSKEY phNewUSKey,
  [in]           DWORD   dwFlags
);

Parameters

[in] pszPath

Type: LPCTSTR

A pointer to a null-terminated string that contains the subkey to be created or opened. If a value with this name is already present in the subkey, it will be opened.

[in] samDesired

Type: REGSAM

The desired security access. For more information on security access, see REGSAM.

[in, optional] hRelativeUSKey

Type: HUSKEY

The key to be used as a base for relative paths. If pszPath is a relative path, the key it specifies will be relative to hRelativeUSKey. If pszPath is an absolute path, set hRelativeUSKey to NULL. The key will then be created under HKEY_LOCAL_MACHINE or HKEY_CURRENT_USER, depending the value of dwFlags.

[out] phNewUSKey

Type: PHUSKEY

A pointer to an HUSKEY that will receive the handle to the new key.

[in] dwFlags

Type: DWORD

The base key under which the key should be opened. This can be one or more of the following values.

SHREGSET_HKCU

Create/open the key under HKEY_CURRENT_USER. Only creates a key if it is empty.

SHREGSET_FORCE_HKCU

Create/open the key under HKEY_CURRENT_USER. Creates a key even if it is not empty.

SHREGSET_HKLM

Create/open the key under HKEY_LOCAL_MACHINE. Only creates a key if it is empty.

SHREGSET_FORCE_HKLM

Create/open the key under HKEY_LOCAL_MACHINE. Creates a key even if it is not empty.

SHREGSET_DEFAULT

Create/open the key under both HKEY_CURRENT_USER (forced) and HKEY_LOCAL_MACHINE (only if empty). This flag is the equivalent of (SHREGSET_FORCE_HKCU | SHREGSET_HKLM).

Return value

Type: LSTATUS

Returns ERROR_SUCCESS if successful, or a nonzero error code defined in Winerror.h otherwise. You can use the FormatMessage function with the FORMAT_MESSAGE_FROM_SYSTEM flag to retrieve a generic description of the error.

Remarks

If you want to write values to the new key, use SHRegWriteUSValue to write each value, passing the HUSKEY handle that is returned through phNewUSKey. When you have finished, close the user-specific registry key with SHRegCloseUSKey.

Note

The shlwapi.h header defines SHRegCreateUSKey as an alias that automatically selects the ANSI or Unicode version of this function based on the definition of the UNICODE preprocessor constant. Mixing usage of the encoding-neutral alias with code that is not encoding-neutral can lead to mismatches that result in compilation or runtime errors. For more information, see Conventions for Function Prototypes.

Requirements

Requirement Value
Minimum supported client Windows 2000 Professional, Windows XP [desktop apps only]
Minimum supported server Windows 2000 Server [desktop apps only]
Target Platform Windows
Header shlwapi.h
Library Shlwapi.lib
DLL Shlwapi.dll (version 4.71 or later)