共用方式為


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*

指向要擷取檔案關聯屬性索引鍵詳細資料的殼層資料夾指標。

[in] pidl

類型: PCUITEMID_CHILD

要求檔案關聯之子專案的 PIDL。

[in] pkey

類型: PROPERTYKEY*

要擷取之屬性索引鍵的指標。

[out] pv

類型: 變體*

當此函式傳回時,會包含指定屬性索引鍵的詳細資料。

[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

需求

Requirement 價值觀
最低支援的用戶端 Windows Vista [僅限傳統型應用程式]
支援的最低伺服器 Windows Server 2008 [僅限傳統型應用程式]
目標平臺 窗戶
Header shlobj_core.h(包括 Shlobj.h)
Library 殼層32.lib
DLL Shell32.dll