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.
[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 |
---|---|
|
Réussite. |
|
Un ou plusieurs arguments ne sont pas valides. |
|
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 |