Partager via


AssocGetDetailsOfPropKey, fonction (shlobj_core.h)

Récupère la valeur d’une clé de propriété donnée à l’aide des informations d’association de fichiers fournies par les extensions d’espace de noms.

Syntaxe

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

Paramètres

[in] psf

Type : IShellFolder*

Pointeur vers le dossier shell pour lequel les détails de la clé de propriété de l’association de fichiers sont récupérés.

[in] pidl

Type : PCUITEMID_CHILD

PIDL de l’élément enfant pour lequel les associations de fichiers sont demandées.

[in] pkey

Type : PROPERTYKEY*

Pointeur vers la clé de propriété en cours de récupération.

[out] pv

Type : VARIANT*

Lorsque cette fonction est retournée, contient les détails de la clé de propriété donnée.

[out] pfFoundPropKey

Type : BOOL*

Lorsque cette fonction est retournée, contient un indicateur qui a la valeur TRUE si la clé de propriété a été trouvée, sinon FALSE.

Valeur retournée

Type : HRESULT

Si cette fonction réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT .

Remarques

Cette fonction doit être utilisée uniquement par les implémenteurs d’extensions d’espace de noms IShellFolder. D’autres applications appelantes doivent utiliser IShellFolder2 ::GetDetailsEx pour obtenir une valeur pour une PROPRIÉTÉKEY. Cette fonction doit être utilisée par les implémenteurs des extensions d’espace de noms IShellFolder .

L’extension d’espace de noms fournie doit prendre en charge l’utilisation de cette API de l’une des trois manières suivantes.

  1. Si les extensions d’espace de noms fournies prennent en charge la récupération d’une interface IQueryAssociations pour l’élément en implémentant IShellFolder ::GetUIObjectOf(..., IID_IQueryAssociations, ...), AssocGetDetailsOfPropKey utilise l’API d’associations de fichiers fournie pour récupérer la valeur de la clé de propriété.
  2. Si l’extension d’espace de noms fournie retourne SFGAO_FILESYSTEM pour l’élément à partir de IShellFolder ::GetAttributesOf et fournit un nom d’analyse pour l’élément, AssocGetDetailsOfPropKey utilise les associations de système de fichiers standard pour récupérer la valeur de la clé de propriété.
  3. Si l’extension d’espace de noms fournie retourne SFGAO_FOLDER | SFGAO_BROWSABLE pour l’élément à partir de IShellFolder ::GetAttributesOf, AssocGetDetailsOfPropKey utilise l’association de fichiers pour les dossiers (ASSOCCLASS_FOLDER) pour récupérer la valeur de la clé de propriété.
Si l’implémentation de ShellFolder contient des éléments extensibles par le biais du mécanisme d’associations de fichiers, vous pouvez utiliser cette fonction pour récupérer propertyKeys déclarées pour une association de fichiers donnée. Par exemple, si un dossier Shell donné pilote un volet d’informations et que vous souhaitez que les propriétés affichées dans ce volet soient régies par les extensions de nom de fichier tierces, vous pouvez utiliser cette fonction pour retourner PKEY_PropList_PreviewDetails. Cette clé a une valeur déclarée dans le Registre pour cette extension de nom de fichier avec une liste délimitée par des points-virgules des propriétés. Il existe une liste des propriétés définies par l’extension de nom de fichier dans le Registre. Cette liste inclut, mais n’est pas limitée aux éléments suivants :
  • 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

Spécifications

Requirement Valeur
Client minimum requis Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau uniquement]
plateforme cible Fenêtres
Header shlobj_core.h (include Shlobj.h)
Library shell32.lib
DLL Shell32.dll