Bagikan melalui


Fungsi AssocGetDetailsOfPropKey (shlobj_core.h)

Mengambil nilai untuk kunci properti tertentu menggunakan informasi asosiasi file yang disediakan oleh Ekstensi Namespace.

Sintaks

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

Parameter

[in] psf

Jenis: IShellFolder*

Penunjuk ke folder shell tempat detail kunci properti asosiasi file sedang diambil.

[in] pidl

Jenis: PCUITEMID_CHILD

PIDL item anak tempat asosiasi file diminta.

[in] pkey

Jenis: PROPERTYKEY*

Penunjuk ke kunci properti yang sedang diambil.

[out] pv

Jenis: VARIAN*

Ketika fungsi ini kembali, berisi detail kunci properti yang diberikan.

[out] pfFoundPropKey

Jenis: BOOL*

Ketika fungsi ini kembali, berisi bendera yang TRUE jika kunci properti ditemukan, jika tidak FALSE.

Nilai kembali

Jenis: HRESULT

Jika fungsi ini berhasil, fungsi akan mengembalikan S_OK. Jika tidak, kode kesalahan HRESULT akan dikembalikan.

Keterangan

Fungsi ini hanya akan digunakan oleh pelaksana Ekstensi NamespaceIShellFolder. Aplikasi panggilan lain harus menggunakan IShellFolder2::GetDetailsEx untuk mendapatkan nilai untuk PROPERTYKEY. Fungsi ini akan digunakan oleh pelaksana Ekstensi Namespace IShellFolder .

Ekstensi namespace yang disediakan harus mendukung penggunaan API ini dengan salah satu dari tiga cara berikut.

  1. Jika Ekstensi Namespace yang disediakan mendukung pengambilan antarmuka IQueryAssociations untuk item dengan menerapkan IShellFolder::GetUIObjectOf(..., IID_IQueryAssociations, ...), maka AssocGetDetailsOfPropKey akan menggunakan API asosiasi file yang disediakan untuk mengambil nilai kunci properti.
  2. Jika ekstensi namespace yang disediakan mengembalikan SFGAO_FILESYSTEM untuk item dari IShellFolder::GetAttributesOf dan memberikan nama penguraian untuk item, maka AssocGetDetailsOfPropKey akan menggunakan asosiasi sistem file standar untuk mengambil nilai untuk kunci properti.
  3. Jika ekstensi namespace yang disediakan mengembalikan SFGAO_FOLDER | SFGAO_BROWSABLE untuk item dari IShellFolder::GetAttributesOf, maka AssocGetDetailsOfPropKey akan menggunakan asosiasi file untuk folder (ASSOCCLASS_FOLDER) untuk mengambil nilai untuk kunci properti.
Jika ShellFolder yang diimplementasikan berisi item yang dapat diperluas melalui mekanisme asosiasi file, maka Anda dapat menggunakan fungsi ini untuk mengambil PropertyKeys yang dideklarasikan untuk asosiasi file tertentu. Misalnya, jika folder Shell tertentu mendorong panel detail dan Anda ingin properti ditampilkan di panel tersebut diatur oleh ekstensi nama file pihak ketiga, maka Anda dapat menggunakan fungsi ini untuk mengembalikan PKEY_PropList_PreviewDetails. Kunci ini memiliki nilai yang dideklarasikan dalam registri untuk ekstensi nama file tersebut dengan daftar properti yang dibatasi titik koma. Ada daftar properti yang ditentukan ekstensi nama file dalam registri. Daftar ini mencakup tetapi tidak terbatas pada hal berikut:
  • 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

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows Vista [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2008 [hanya aplikasi desktop]
Target Platform Windows
Header shlobj_core.h (termasuk Shlobj.h)
DLL Shell32.dll