Compartir a través de


Función AssocGetDetailsOfPropKey (shlobj_core.h)

Recupera el valor de una clave de propiedad determinada mediante la información de asociación de archivo proporcionada por las extensiones de espacio de nombres.

Sintaxis

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

Parámetros

[in] psf

Tipo: IShellFolder*

Puntero a la carpeta del shell para la que se recuperan los detalles de la clave de propiedad de la asociación de archivos.

[in] pidl

Tipo: PCUITEMID_CHILD

PIDL del elemento secundario para el que se solicitan las asociaciones de archivo.

[in] pkey

Tipo: PROPERTYKEY*

Puntero a la clave de propiedad que se está recuperando.

[out] pv

Tipo: VARIANT*

Cuando esta función vuelve, contiene los detalles de la clave de propiedad especificada.

[out] pfFoundPropKey

Tipo: BOOL*

Cuando se devuelve esta función, contiene una marca que es TRUE si se encontró la clave de propiedad; de lo contrario, FALSE.

Valor devuelto

Tipo: HRESULT

Si esta función se realiza correctamente, devuelve S_OK. De lo contrario, devuelve un código de error de HRESULT.

Comentarios

Esta función solo la usarán los implementadores de extensiones de espacio de nombres de IShellFolder. Otras aplicaciones que llaman deben usar IShellFolder2::GetDetailsEx para obtener un valor para propertykey. Esta función se usará mediante implementadores de extensiones de espacio de nombres de IShellFolder .

La extensión de espacio de nombres proporcionada debe admitir el uso de esta API de una de las tres maneras siguientes.

  1. Si las extensiones de espacio de nombres proporcionadas admiten la recuperación de una interfaz IQueryAssociations para el elemento mediante la implementación de IShellFolder::GetUIObjectOf(..., IID_IQueryAssociations, ...), AssocGetDetailsOfPropKey usará la API de asociaciones de archivos proporcionada para recuperar el valor de la clave de propiedad.
  2. Si la extensión de espacio de nombres proporcionada devuelve SFGAO_FILESYSTEM para el elemento de IShellFolder::GetAttributesOf y proporciona un nombre de análisis para el elemento, AssocGetDetailsOfPropKey usará las asociaciones del sistema de archivos estándar para recuperar el valor de la clave de propiedad.
  3. Si la extensión de espacio de nombres proporcionada devuelve SFGAO_FOLDER | SFGAO_BROWSABLE para el elemento de IShellFolder::GetAttributesOf, AssocGetDetailsOfPropKey usará la asociación de archivos para carpetas (ASSOCCLASS_FOLDER) para recuperar el valor de la clave de propiedad.
Si shellFolder que se implementa contiene elementos que son extensibles a través del mecanismo de asociaciones de archivos, puede usar esta función para recuperar PropertyKeys declarados para una asociación de archivos determinada. Por ejemplo, si una carpeta shell determinada controla un panel de detalles y desea que las propiedades que se muestran en ese panel se regirán por extensiones de nombre de archivo de terceros, puede usar esta función para devolver PKEY_PropList_PreviewDetails. Esta clave tiene un valor que se declara en el Registro para esa extensión de nombre de archivo con una lista de propiedades delimitada por punto y coma. Hay una lista de propiedades definidas por la extensión de nombre de archivo en el Registro. Esta lista incluye, pero no se limita a lo siguiente:
  • 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

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado shlobj_core.h (incluya Shlobj.h)
Archivo DLL Shell32.dll