Partager via


Méthode IAssocHandler ::Invoke (shobjidl_core.h)

Appelle directement le gestionnaire associé.

Syntaxe

HRESULT Invoke(
  [in] IDataObject *pdo
);

Paramètres

[in] pdo

Type : IDataObject*

Pointeur vers un IDataObject qui représente l’élément sélectionné sur lequel appeler le gestionnaire. Notez que vous ne devez pas appeler IAssocHandler ::Invoke avec une sélection de plusieurs éléments. Si vous avez plusieurs éléments, appelez plutôt IAssocHandler ::CreateInvoker . Pour plus d’informations, consultez Remarques.

Valeur retournée

Type : HRESULT

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

Remarques

Les objets IAssocHandler sont généralement utilisés pour remplir un menu Ouvrir avec. Lorsque l’un de ces éléments de menu est sélectionné, cette méthode est appelée pour lancer l’application choisie.

Invoke et CreateInvoker

L’objet IDataObject utilisé par ces méthodes peut représenter un seul fichier ou une sélection de plusieurs fichiers. Toutes les applications ne prennent pas en charge l’option de fichiers multiples. Les applications qui prennent en charge ce scénario peuvent imposer d’autres restrictions, telles que le nombre de fichiers pouvant être ouverts simultanément ou la combinaison acceptable de types de fichiers.

Par conséquent, une application doit souvent déterminer si le gestionnaire prend en charge la sélection avant d’essayer d’appeler le gestionnaire. Par exemple, une application peut activer un élément de menu uniquement si elle a vérifié que la sélection en question était prise en charge par ce gestionnaire.

Il est généralement prudent de supposer qu’une application prend en charge l’appel sur un seul élément et, dans ce cas, l’application appelle généralement IAssocHandler ::Invoke en fonction de cette hypothèse.

Toutefois, pour plusieurs scénarios de sélection, l’application doit appeler IAssocHandler ::CreateInvoker. Cette méthode récupère un objet IAssocHandlerInvoker qui permet à l’application appelante d’abord case activée si la sélection est prise en charge (SupportsSelection), puis d’appeler le gestionnaire (Invoke).

IAssocHandler ::Invoke peut être appelé sur une sélection de plusieurs fichiers, mais il n’est pas recommandé en raison de la charge de traitement importante impliquée et aucune garantie de réussite.

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 shobjidl_core.h (incluez Shobjidl.h)