SHGetValueW 函数 (shlwapi.h)
检索注册表值。
语法
LSTATUS SHGetValueW(
[in] HKEY hkey,
[in, optional] LPCWSTR pszSubKey,
[in, optional] LPCWSTR 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 Professional、Windows XP [仅限桌面应用] |
支持的最低服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | 窗户 |
标头 | shlwapi.h |
库 | Shlwapi.lib |
DLL | Shlwapi.dll(版本 4.71 或更高版本) |