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 |