AssocGetDetailsOfPropKey 函数 (shlobj_core.h)

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

语法

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、...) 来检索项的 IQueryAssociations 接口,则 AssocGetDetailsOfPropKey 将使用提供的文件关联 API 检索属性键的值。
  2. 如果提供的命名空间扩展从 IShellFolder::GetAttributesOf 返回项的SFGAO_FILESYSTEM,并为该项提供分析名称,则 AssocGetDetailsOfPropKey 将使用标准文件系统关联来检索属性键的值。
  3. 如果提供的命名空间扩展返回 IShellFolder::GetAttributesOf 中项的SFGAO_FOLDER | SFGAO_BROWSABLE,则 AssocGetDetailsOfPropKey 将使用文件夹的文件关联 (ASSOCCLASS_FOLDER) 检索属性键的值。
如果正在实现的 ShellFolder 包含可通过文件关联机制扩展的项,则可以使用此函数检索为给定文件关联声明的 PropertyKey 。 例如,如果给定的 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

要求

要求
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 [仅限桌面应用]
目标平台 Windows
标头 shlobj_core.h (包括 Shlobj.h)
DLL Shell32.dll