SHParseDisplayName 函数 (shlobj_core.h)

将 Shell 命名空间对象的显示名称转换为项标识符列表,并返回对象的属性。 此函数是将字符串转换为指向 PIDL) 项标识符列表 (指针的首选方法。

语法

SHSTDAPI SHParseDisplayName(
  [in]            PCWSTR           pszName,
  [in, optional]  IBindCtx         *pbc,
  [out]           PIDLIST_ABSOLUTE *ppidl,
  [in]            SFGAOF           sfgaoIn,
  [out, optional] SFGAOF           *psfgaoOut
);

参数

[in] pszName

类型: LPCWSTR

指向以零结尾的宽字符串的指针,该字符串包含要分析的显示名称。

[in, optional] pbc

类型: IBindCtx*

控制分析操作的绑定上下文。 此参数通常设置为 NULL

[out] ppidl

类型: PIDLIST_ABSOLUTE*

指向类型为 ITEMIDLIST 的变量的指针的地址,该变量接收对象的项标识符列表。 如果发生错误,此参数将设置为 NULL

[in] sfgaoIn

类型: SFGAOF

指定要查询的属性的 ULONG 值。 若要查询一个或多个属性,请使用表示相关属性的标志初始化此参数。 有关可用 SFGAO 标志的列表,请参阅 SFGAO

[out, optional] psfgaoOut

类型: SFGAOF*

指向 ULONG 的指针。 返回时,将设置对象为 true 并在 sfgaoIn 中请求的那些属性。 对象的属性标志可以是零,也可以是 SFGAO 标志的组合。 有关可用 SFGAO 标志的列表,请参阅 SFGAO

返回值

类型: HRESULT

如果此函数成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。

注解

应从后台线程调用此函数。 否则可能会导致 UI 停止响应。

要求

要求
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 shlobj_core.h (包括 Shlobj.h)
Library Shell32.lib
DLL Shell32.dll (6.0 或更高版本)

另请参阅

IBindCtx

IShellFolder::GetAttributesOf

IShellFolder::P arseDisplayName

ITEMIDLIST

SHGetPathFromIDList