SHGetValueA function (shlwapi.h)

Retrieves a registry value.

Syntax

LSTATUS SHGetValueA(
  [in]                HKEY   hkey,
  [in, optional]      LPCSTR pszSubKey,
  [in, optional]      LPCSTR pszValue,
  [out, optional]     DWORD  *pdwType,
  [out, optional]     void   *pvData,
  [in, out, optional] DWORD  *pcbData
);

Parameters

[in] hkey

Type: HKEY

A handle to the currently open key, or any of the following predefined values.

HKEY_CLASSES_ROOT

HKEY_CURRENT_CONFIG

HKEY_CURRENT_USER

HKEY_LOCAL_MACHINE

HKEY_PERFORMANCE_DATA

HKEY_USERS

[in, optional] pszSubKey

Type: LPCTSTR

The address of a null-terminated string that specifies the name of the subkey from which to retrieve the value.

[in, optional] pszValue

Type: LPCTSTR

The address of the value.

[out, optional] pdwType

Type: LPDWORD

The type of value. For more information, see Registry Data Types.

[out, optional] pvData

Type: LPVOID

The address of the destination data buffer.

[in, out, optional] pcbData

Type: LPDWORD

The size of the destination data buffer.

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 your application must set/retrieve a series of values in the same key, it is better to open the key once and set/retrieve the values with the regular Microsoft Win32 registry functions rather than use this function repeatedly.

Note

The shlwapi.h header defines SHGetValue 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)