PsGetItemPropertyHandlerWithCreateObject, fonction (propsys.h)
Récupère un gestionnaire de propriétés pour un élément Shell.
Syntaxe
PSSTDAPI PSGetItemPropertyHandlerWithCreateObject(
[in] IUnknown *punkItem,
[in] BOOL fReadWrite,
[in] IUnknown *punkCreateObject,
[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] punkCreateObject
Type : IUnknown*
Pointeur vers l’interface IUnknown d’un objet de fabrique de classe qui prend en charge ICreateObject.
[in] riid
Type : REFIID
Référence à l’IID de l’interface à récupérer via ppv.
[out] ppv
Type : void**
Lorsque cette fonction retourne correctement, contient le pointeur d’interface demandé dans riid. Il s’agit généralement de IPropertyStore ou IPropertyStoreCapabilities.
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 dans le cadre du redistribuable Recherche de bureau Microsoft Windows (WDS), qui inclut IPropertyStore et les interfaces de prise en charge. Pour les applications prises en charge uniquement sur Windows Vista ou version ultérieure, nous vous recommandons d’utiliser IShellItem2 ::GetPropertyStoreWithCreateObject au lieu de PSGetItemPropertyHandlerWithCreateObject , car IShellItem2 ::GetPropertyStoreWithCreateObject fournit un ensemble plus riche de propriétés dans le magasin de propriétés retourné.
Cette fonction équivaut approximativement à passer l’indicateur GPS_HANDLERPROPERTIESONLY à IShellItem2 ::GetPropertyStoreWithCreateObject.
Le paramètre punkCreateObject permet de créer un magasin de propriétés dans un contexte différent de celui de l’appelant. Par instance, l’implémentation ICreateObject peut entraîner la création du magasin de propriétés dans un autre processus. Ce paramètre est utilisé uniquement pour les gestionnaires de propriétés qui le prennent en charge et qui sont inscrits sous HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\PropertySystem\PropertyHandlers
.
Vous devez initialiser com (Component Object Model) avec CoInitialize ou OleInitialize avant d’appeler PSGetItemPropertyHandlerWithCreateObject. COM doit rester initialisé pendant toute la durée de vie de cet objet.
Exemples
L’exemple suivant, à inclure dans le cadre d’un programme plus large, montre comment utiliser PSGetItemPropertyHandlerWithCreateObject pour obtenir un gestionnaire de propriétés pour un élément.
// IShellItem *psi;
// ICreateObject *pco;
// Assume variables pco and psi are valid and initialized.
IPropertyStore *pStore;
HRESULT hr = PSGetItemPropertyHandlerWithCreateObject(psi, FALSE, pco, 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 |