ITypeInfo::Invoke (Windows CE 5.0)

Windows CE 5.0
Send Feedback

This method invokes a method or accesses a property of an object that implements the interface indicated by the type description.

HRESULT Invoke( 
  VOID FAR* pvInstance, 
  MEMBERID memid, 
  unsigned short wFlags, 
  DISPPARAMS FAR* pDispParams, 
  VARIANT FAR* pVarResult, 
  EXCEPINFO FAR* pExcepInfo, 
  unsigned int FAR* puArgErr 
);

Parameters

pvInstance
[in] Pointer to an instance of the interface described by this type description.
memid
[in] Identifier of the interface member.
wFlags
[in] Flags that describe the context of the invoke call. It is one of the following values.
ValueDescription
DISPATCH_METHODThe member is accessed as a method. If there is ambiguity, both this and the DISPATCH_PROPERTYGET flag can be set.
DISPATCH_PROPERTYGETThe member is retrieved as a property or data member.
DISPATCH_PROPERTYPUTThe member is changed as a property or data member.
DISPATCH_PROPERTYPUTREFThe member is changed by using a reference assignment, rather than a value assignment. This value is only valid when the property accepts a reference to an object.
pDispParams
[in, out] Pointer to a structure that contains an array of parameters, an array of DISPIDs for named parameters, and counts of the number of elements in each array.
pVarResult
[out] Should be NULL if the caller does not expect any result. Otherwise, it should be a pointer to the location at which the result is to be stored. If wFlags specifies DISPATCH_PROPERTYPUT or DISPATCH_PROPERTYPUTREF, pVarResult is ignored.
pExcepInfo
[out] Pointer to an exception information structure, which is filled in only if DISP_E_EXCEPTION is returned. If pExcepInfo is NULL on input, only an HRESULT error is returned.
puArgErr
[out] If ITypeInfo::Invoke returns DISP_E_TYPEMISMATCH, puArgErr indicates the index (within rgvarg) of the parameter with incorrect type.

If more than one parameter returns an error, puArgErr indicates only the first parameter with an error.

Arguments in pDispParams->rgvarg appear in reverse order, so the first parameter is the one having the highest index in the array. Cannot be NULL.

Return Values

The following table shows the return values for this function.

ValueDescription
S_OK Success.
E_INVALIDARGOne or more of the parameters is invalid.
DISP_E_EXCEPTIONThe member being invoked has returned an error HRESULT.

If the member implements IErrorInfo, details are available in the error object. Otherwise, the pExcepInfo parameter contains details.

TYPE_E_IOERRORThe function could not read from the file.
TYPE_E_INVDATAREADInvalid data.
TYPE_E_UNSUPFORMATThe type library has an older format.
TYPE_E_REGISTRYACCESSThere was an error accessing the system registration database.
TYPE_E_LIBNOTREGISTEREDThe type library was not found in the system registration database.
TYPE_E_INVALIDSTATEThe type library could not be opened.
TYPE_E_WRONGTYPEKINDType mismatch.
TYPE_E_ELEMENTNOTFOUNDThe element was not found.
TYPE_E_BADMODULEKINDThe module does not support Invoke.
Other return codesAny of the IDispatch::Invoke errors may also be returned.

Remarks

Use the function ITypeInfo::Invoke to access a member of an object or invoke a method that implements the interface described by this type description. For objects that support the IDispatch interface, you can use ITypeInfo::Invoke to implement IDispatch::Invoke.

ITypeInfo::Invoke takes a pointer to an instance of the class. Otherwise, its parameters are the same as IDispatch::Invoke, except that ITypeInfo::Invoke omits the refiid and lcid parameters. When called, ITypeInfo::Invoke performs the actions described by the IDispatch::Invoke parameters on the specified instance.

For VTBL interface members, ITypeInfo::Invoke passes the LCID of the type information into parameters tagged with the lcid attribute, and the returned value into the retval attribute.

If the type description inherits from another type description, this function recurses on the base type description to find the item with the requested member identifier.

Requirements

OS Versions: Windows CE 2.0 and later.
Header: Oaidl.h, Oaidl.idl.
Link Library: Oleaut32.lib, Uuid.lib.

See Also

ITypeInfo | IDispatch | IDispatch::Invoke | IErrorInfo


Send Feedback on this topic to the authors

Feedback FAQs

© 2006 Microsoft Corporation. All rights reserved.


Show: