Important: |
---|
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist. |
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
Value | Description |
---|---|
DISPATCH_METHOD | The member is accessed as a method. If there is ambiguity, both this and the DISPATCH_PROPERTYGET flag can be set. |
DISPATCH_PROPERTYGET | The member is retrieved as a property or data member. |
DISPATCH_PROPERTYPUT | The member is changed as a property or data member. |
DISPATCH_PROPERTYPUTREF | The 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. |
Return Values
One of the values described in the following table is returned.
Value | Description |
---|---|
S_OK | Success. |
E_INVALIDARG | One or more of the parameters is invalid. |
DISP_E_EXCEPTION | The member being invoked has returned an error HRESULT. If the member implements IErrorInfo, details are available in the error object. Otherwise, the pExcepInfoparameter contains details. |
TYPE_E_IOERROR | The function could not read from the file. |
TYPE_E_INVDATAREAD | Invalid data. |
TYPE_E_UNSUPFORMAT | The type library has an older format. |
TYPE_E_REGISTRYACCESS | There was an error accessing the system registration database. |
TYPE_E_LIBNOTREGISTERED | The type library was not found in the system registration database. |
TYPE_E_INVALIDSTATE | The type library could not be opened. |
TYPE_E_WRONGTYPEKIND | Type mismatch. |
TYPE_E_ELEMENTNOTFOUND | The element was not found. |
TYPE_E_BADMODULEKIND | The module does not support Invoke. |
Other return codes | Any of the IDispatch::Invokeerrors may also be returned. |
Remarks
Use the function ITypeInfo::Invoketo access a member of an object or invoke a method that implements the interface described by this type description. For objects that support the IDispatchinterface, you can use Invoketo implement IDispatch::Invoke.
ITypeInfo::Invoketakes a pointer to an instance of the class. Otherwise, its parameters are the same as IDispatch::Invoke, except that ITypeInfo::Invokeomits the refiidand lcidparameters. When called, ITypeInfo::Invokeperforms the actions described by the IDispatch::Invokeparameters on the specified instance.
For VTBL interface members, ITypeInfo::Invokepasses the LCID of the type information into parameters tagged with the lcidattribute, and the returned value into the retvalattribute.
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
Runs on | Versions | Defined in | Include | Link to |
---|---|---|---|---|
Windows CE OS | 2.0 and later | Oaidl.h |
Note This API is part of the complete Windows CE OS package as provided by Microsoft. The functionality of a particular platform is determined by the original equipment manufacturer (OEM) and some devices may not support this API.