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 de l’interpréteur de commandes 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 retourne, contient les détails de la clé de propriété donnée.

[out] pfFoundPropKey

Type : BOOL*

Lorsque cette fonction retourne, contient un indicateur 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 des extensions d’espace de nomsIShellFolder. Les 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 utilisera 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 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 renvoie SFGAO_FOLDER | SFGAO_BROWSABLE pour l’élément 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 le ShellFolder en cours d’implémentation contient des éléments extensibles via le mécanisme d’associations de fichiers, vous pouvez utiliser cette fonction pour récupérer des 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 des extensions de nom de fichier tierces, vous pouvez utiliser cette fonction pour retourner PKEY_PropList_PreviewDetails. Cette clé a une valeur qui est déclarée dans le Registre pour cette extension de nom de fichier avec une liste de propriétés délimitée par des points-virgules. Il existe une liste des propriétés définies par l’extension de nom de fichier dans le Registre. Cette liste inclut, sans s’y limiter, les é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

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau uniquement]
Plateforme cible Windows
En-tête shlobj_core.h (inclure Shlobj.h)
DLL Shell32.dll