shGetValueA 函数 (shlwapi.h)
检索注册表值。
语法
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
);
参数
[in] hkey
类型: HKEY
当前打开的键或以下任何预定义值的句柄。
HKEY_CLASSES_ROOT
HKEY_CURRENT_CONFIG
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_PERFORMANCE_DATA
HKEY_USERS
[in, optional] pszSubKey
类型: LPCTSTR
以 null 结尾的字符串的地址,该字符串指定要从中检索值的子项的名称。
[in, optional] pszValue
类型: LPCTSTR
值的地址。
[out, optional] pdwType
类型: LPDWORD
值的类型。 有关详细信息,请参阅 注册表数据类型。
[out, optional] pvData
类型: LPVOID
目标数据缓冲区的地址。
[in, out, optional] pcbData
类型: LPDWORD
目标数据缓冲区的大小。
返回值
类型: LSTATUS
如果成功,则返回ERROR_SUCCESS,否则返回 Winerror.h 中定义的非零错误代码。 可以将 FormatMessage 函数与 FORMAT_MESSAGE_FROM_SYSTEM 标志一起使用,以检索错误的一般说明。
注解
如果应用程序必须在同一键中设置/检索一系列值,则最好打开该键一次,并使用常规 Microsoft Win32 注册表函数设置/检索值,而不是重复使用此函数。
注意
shlwapi.h 标头将 SHGetValue 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定。
要求
最低受支持的客户端 | Windows 2000 专业版、Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | shlwapi.h |
Library | Shlwapi.lib |
DLL | Shlwapi.dll (4.71 或更高版本) |