Partager via


Fonction PSGetItemPropertyHandler (propsys.h)

Récupère un gestionnaire de propriétés pour un élément Shell.

Syntaxe

PSSTDAPI PSGetItemPropertyHandler(
  [in]  IUnknown *punkItem,
  [in]  BOOL     fReadWrite,
  [in]  REFIID   riid,
  [out] void     **ppv
);

Paramètres

[in] punkItem

Type : IUnknown*

Pointeur vers l’interface IUnknown d’un élément Shell qui prend en charge IShellItem.

Windows XP : Utilisez SHCreateShellItem pour créer l’élément Shell.

Windows Vista : Utilisez SHCreateItemFromIDList, SHCreateItemFromParsingName, SHCreateItemFromRelativeName, SHCreateItemInKnownFolder ou SHCreateItemWithParent pour créer l’élément Shell.

[in] fReadWrite

Type : BOOL

TRUE pour récupérer un gestionnaire de propriétés en lecture/écriture. FALSE pour récupérer un gestionnaire de propriétés en lecture seule.

[in] riid

Type : REFIID

Référence à l’IID de l’interface que l’objet gestionnaire doit retourner. Il doit s’agir d’IPropertyStore ou d’une interface dérivée d’IPropertyStore.

[out] ppv

Type : void**

Lorsque cette fonction retourne, contient le pointeur d’interface demandé dans riid.

Valeur retournée

Type : PSSTDAPI

Retourne S_OK en cas de réussite, ou une valeur d’erreur dans le cas contraire.

Remarques

Cette fonction est prise en charge dans Windows XP et Windows Vista. Pour les applications prises en charge uniquement sur Windows Vista ou version ultérieure, il est recommandé d’utiliser IShellItem2 ::GetPropertyStore au lieu de PSGetItemPropertyHandler. Cette méthode fournit un ensemble plus riche de propriétés dans le magasin de propriétés retourné.

Cette fonction équivaut à passer l’indicateur GPS_HANDLERPROPERTIESONLY à IShellItem2 ::GetPropertyStore.

Vous devez initialiser le modèle COM (Component Object Model) avec CoInitialize ou OleInitialize avant d’appeler PSGetItemPropertyHandler. COM doit rester initialisé pendant la durée de vie de cet objet.

Exemples

L’exemple suivant, à inclure dans un programme plus grand, montre comment utiliser PSGetItemPropertyHandler pour obtenir un gestionnaire de propriétés pour un élément.

// IShellItem *psi;
// Assume variable psi is valid and initialized.
IPropertyStore *pStore;

HRESULT hr = PSGetItemPropertyHandler(psi, FALSE, IID_PPV_ARGS(&pStore));

if (SUCCEEDED(hr))
{
    // pStore is now valid and contains properties exposed through the 
    // property handler for the item.
 
    pStore->Release();
}

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP avec SP2, Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 avec SP1 [applications de bureau uniquement]
Plateforme cible Windows
En-tête propsys.h
Bibliothèque Propsys.lib
DLL Propsys.dll (version 6.0 ou ultérieure)
Composant redistribuable Windows Desktop Search (WDS) 3.0