Partager via


Méthode ITypeInfo ::Invoke (oaidl.h)

Appelle une méthode ou accède à une propriété d'un objet qui implémente l'interface décrite par la description de type.

Syntaxe

HRESULT Invoke(
  [in]      PVOID      pvInstance,
  [in]      MEMBERID   memid,
  [in]      WORD       wFlags,
  [in, out] DISPPARAMS *pDispParams,
  [out]     VARIANT    *pVarResult,
  [out]     EXCEPINFO  *pExcepInfo,
  [out]     UINT       *puArgErr
);

Paramètres

[in] pvInstance

Une instance de l’interface décrite par cette description de type.

[in] memid

Membre de l’interface.

[in] wFlags

Indicateurs décrivant le contexte de l'appel Invoke.

Valeur Signification
DISPATCH_METHOD
Le membre est accessible en tant que méthode. En cas d'ambiguïté, vous pouvez définir à la fois cet indicateur et l'indicateur DISPATCH_PROPERTYGET.
DISPATCH_PROPERTYGET
Le membre est récupéré en tant que membre de propriété ou de données.
DISPATCH_PROPERTYPUT
Le membre est modifié en tant que membre de propriété ou de données.
DISPATCH_PROPERTYPUTREF
Le membre est modifié à l’aide d’une attribution de référence plutôt que d’une attribution de valeur. Cet indicateur est valide uniquement lorsque la propriété accepte une référence à un objet.

[in, out] pDispParams

Tableau d’arguments, tableau de DISPIDs pour les arguments nommés et nombre d’éléments dans chaque tableau.

[out] pVarResult

Résultat. Doit avoir la valeur Null si l’appelant n’attend aucun résultat. Si wFlags spécifie DISPATCH_PROPERTYPUT ou DISPATCH_PROPERTYPUTREF, pVarResultis est ignoré.

[out] pExcepInfo

Structure d’informations d’exception, qui n’est renseignée que si DISP_E_EXCEPTION est retourné. Si pExcepInfo est null en entrée, seule une erreur HRESULT est retournée.

[out] puArgErr

Si Invoke retourne DISP_E_TYPEMISMATCH, puArgErr indique l’index (dans rgvarg) de l’argument avec un type incorrect. Si plusieurs arguments retournent une erreur, puArgErr indique uniquement le premier argument avec une erreur. Dans pDispParams ->rgvarg, les arguments s’affichent dans l’ordre inverse ; par conséquent, le premier argument est celui qui possède l’index le plus élevé dans le tableau. Ce paramètre ne peut pas être null.

Valeur retournée

Code de retour Description
S_OK
Réussite.
E_INVALIDARG
Un ou plusieurs arguments ne sont pas valides.
DISP_E_EXCEPTION
Le membre appelé a renvoyé une erreur HRESULT. Si le membre implémente IErrorInfo, les détails sont disponibles dans l’objet d’erreur. Sinon, le paramètre pExcepInfo contient des détails.
 

Toutes les erreurs IDispatch ::Invoke peuvent également être retournées.

Remarques

Utilisez la fonction ITypeInfo ::Invoke pour accéder à un membre d’un objet ou appeler une méthode qui implémente l’interface décrite par cette description de type. Pour les objets qui prennent en charge l’interface IDispatch , vous pouvez utiliser Invoke pour implémenter IDispatch ::Invoke.

ITypeInfo ::Invoke prend un pointeur vers un instance de la classe. Sinon, ses paramètres sont identiques à IDispatch ::Invoke, sauf qu’ITypeInfo ::Invoke omet les paramètres refiid et lcid . Lorsqu’il est appelé, ITypeInfo ::Invoke effectue les actions décrites par les paramètres IDispatch ::Invoke sur le instance spécifié.

Pour les membres de l’interface VTBL, ITypeInfo ::Invoke transmet le LCID des informations de type dans des paramètres marqués avec l’attribut lcid et la valeur retournée dans l’attribut retval.

Si la description de type hérite d’une autre description de type, cette fonction se répète sur la description de type de base pour rechercher l’élément avec l’ID de membre demandé.

Configuration requise

Condition requise Valeur
Plateforme cible Windows
En-tête oaidl.h

Voir aussi

ITypeInfo