AssocGetDetailsOfPropKey 函数 (shlobj_core.h)

使用 命名空间扩展提供的文件关联信息检索给定属性键的值。

Syntax

SHSTDAPI AssocGetDetailsOfPropKey(
  [in]  IShellFolder      *psf,
  [in]  PCUITEMID_CHILD   pidl,
  [in]  const PROPERTYKEY *pkey,
  [out] VARIANT           *pv,
  [out] BOOL              *pfFoundPropKey
);

参数

[in] psf

类型: IShellFolder*

指向要检索文件关联的属性键的详细信息的 shell 文件夹的指针。

[in] pidl

类型: PCUITEMID_CHILD

要为其请求文件关联的子项的 PIDL。

[in] pkey

类型: PROPERTYKEY*

指向要检索的属性键的指针。

[out] pv

类型: VARIANT*

当此函数返回时,包含给定属性键的详细信息。

[out] pfFoundPropKey

类型: BOOL*

当此函数返回时,如果找到属性键,则包含 为 TRUE 的标志,否则为 FALSE

返回值

类型:HRESULT

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

注解

此函数仅供 IShellFolder命名空间扩展的实现者使用。 其他调用应用程序应使用 IShellFolder2::GetDetailsEx 获取 PROPERTYKEY 的值。 此函数由 IShellFolder 命名空间扩展的实现者使用。

提供的命名空间扩展必须支持使用以下三种方式之一使用此 API。

  1. 如果提供的命名空间扩展支持通过实现 IShellFolder::GetUIObjectOf(...,IID_IQueryAssociations,...),则 AssocGetDetailsOfPropKey 将使用提供的文件关联 API 检索属性键的值。
  2. 如果提供的命名空间扩展从 IShellFolder::GetAttributesOf 返回该项的SFGAO_FILESYSTEM并提供项分析名称,则 AssocGetDetailsOfPropKey 将使用标准文件系统关联来检索属性键的值。
  3. 如果提供的命名空间扩展从 IShellFolder::GetAttributesOf 返回项SFGAO_FOLDER | SFGAO_BROWSABLE,则 AssocGetDetailsOfPropKey 将使用文件夹的文件关联(ASSOCCLASS_FOLDER)检索属性键的值。
如果实现的 ShellFolder 包含通过文件关联机制可扩展的项,则可以使用此函数检索为给定文件关联声明的 PropertyKeys 。 例如,如果给定 Shell 文件夹驱动详细信息窗格,并且希望该窗格中显示的属性受第三方文件扩展名控制,则可以使用此函数返回 PKEY_PropList_PreviewDetails。 此键具有一个值,该值在注册表中声明了具有分号分隔的属性列表的文件扩展名。 注册表中有文件扩展名定义的属性的列表。 此列表包括但不限于以下内容:
  • PKEY_PropList_PreviewDetails
  • PKEY_PropList_PreviewTitle
  • PKEY_PropList_FullDetails
  • PKEY_PropList_TileInfo
  • PKEY_PropList_ExtendedTileInfo
  • PKEY_PropList_InfoTip
  • PKEY_PropList_QuickTip
  • PKEY_PropList_FileOperationPrompt
  • PKEY_PropList_ConflictPrompt
  • PKEY_PropList_SetDefaultsFor
  • PKEY_PropList_NonPersonal
  • PKEY_NewMenuPreferredTypes
  • PKEY_NewMenuAllowedTypes

要求

Requirement 价值
最低支持的客户端 Windows Vista [仅限桌面应用]
支持的最低服务器 Windows Server 2008 [仅限桌面应用]
目标平台 Windows操作系统
Header shlobj_core.h (包括 Shlobj.h)
Library shell32.lib
DLL Shell32.dll