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 值的任意组合。

[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 指向所需的缓冲区大小。

如果 pwszOutNULL,则该函数返回 S_FALSE,pcchOut 指向所需的缓冲区大小。

返回值

类型: HRESULT

返回标准 COM 错误值,包括以下内容:

错误 含义
S_OK 成功。
E_POINTER pwszOut 缓冲区太小,无法容纳整个字符串。
S_FALSE pwszOutNULLpcchOut 包含所需的缓冲区大小。

要求

要求
最低受支持的客户端 Windows 2000 专业版、Windows XP [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 shlwapi.h
Library Shlwapi.lib
DLL Shell32.dll (5.0 或更高版本)