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

類型: 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包含可透過檔案關聯機制延伸的專案,您可以使用此函式來擷取針對指定檔案關聯所宣告的 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

規格需求

需求
最低支援的用戶端 Windows Vista [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 [僅限傳統型應用程式]
目標平台 Windows
標頭 shlobj_core.h (包含 Shlobj.h)
Dll Shell32.dll