Поделиться через


Функция 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. Если предоставленные расширения пространства имен поддерживают получение интерфейса IQueryAssociations для элемента путем реализации IShellFolder::GetUIObjectOf(..., IID_IQueryAssociations, ...), assocGetDetailsOfPropKey будет использовать предоставленный API сопоставлений файлов для получения значения ключа свойства.
  2. Если предоставленное расширение пространства имен возвращает SFGAO_FILESYSTEM для элемента из IShellFolder::GetAttributesOf и предоставляет имя для анализа элемента, assocGetDetailsOfPropKey будет использовать стандартные сопоставления файловой системы для получения значения ключа свойства.
  3. Если предоставленное расширение пространства имен возвращает SFGAO_FOLDER | SFGAO_BROWSABLE для элемента из IShellFolder::GetAttributesOf, assocGetDetailsOfPropKey будет использовать сопоставление файлов для папок (ASSOCCLASS_FOLDER) для получения значения ключа свойства.
Если реализуемая оболочка ShellFolder содержит элементы, расширяемые с помощью механизма сопоставления файлов, эту функцию можно использовать для получения ключей PropertyKey, объявленных для данного сопоставления файлов. Например, если заданная папка оболочки управляет областью сведений и вы хотите, чтобы свойства, отображаемые в этой области, управлялись сторонними расширениями имен файлов, можно использовать эту функцию для возврата 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
Header shlobj_core.h (включая Shlobj.h)
DLL Shell32.dll