IQueryAssociations::GetString 方法 (shlwapi.h)
从注册表中搜索并检索与文件或协议关联相关的字符串。
语法
HRESULT GetString(
[in] ASSOCF flags,
[in] ASSOCSTR str,
[in, optional] LPCWSTR pszExtra,
[out, optional] LPWSTR pszOut,
[in, out] DWORD *pcchOut
);
参数
[in] flags
类型: ASSOCF
可用于控制搜索的标志。 它可以是以下 ASSOCF 值的任意组合。
- ASSOCF_IGNOREBASECLASS
- ASSOCF_NOFIXUPS
- ASSOCF_NOTRUNCATE
- ASSOCF_NOUSERSETTINGS
- ASSOCF_REMAPRUNDLL
- ASSOCF_VERIFY
[in] str
类型: ASSOCSTR
一个 ASSOCSTR 值,该值指定要返回的字符串的类型。
[in, optional] pszExtra
类型: LPCWSTR
指向可选、以 null 结尾的 Unicode 字符串的指针,其中包含有关字符串位置的信息。 它通常设置为 Shell 谓词,例如 open。 如果未使用此参数,请将此参数设置为 NULL 。
[out, optional] pszOut
类型: LPWSTR
指向以 null 结尾的 Unicode 字符串的指针,用于返回请求的字符串。 将此参数设置为 NULL 以检索所需的缓冲区大小。
[in, out] pcchOut
类型: DWORD*
指向值的指针,该值在输入时设置为 pwszOut 缓冲区中的字符数。 当函数成功返回时,它指向放置在缓冲区中的字符数。
如果 ASSOCF_NOTRUNCATE 标志在 标志 中设置,并且 pwszOut 中指定的缓冲区太小,则函数将返回E_POINTER和 pcchOut 指向所需的缓冲区大小。
如果 pwszOut 为 NULL,则该函数返回 S_FALSE,pcchOut 指向所需的缓冲区大小。
返回值
类型: HRESULT
返回标准 COM 错误值,包括以下内容:
错误 | 含义 |
---|---|
S_OK | 成功。 |
E_POINTER | pwszOut 缓冲区太小,无法容纳整个字符串。 |
S_FALSE | pwszOut 为 NULL。 pcchOut 包含所需的缓冲区大小。 |
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 专业版、Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | shlwapi.h |
Library | Shlwapi.lib |
DLL | Shell32.dll (5.0 或更高版本) |