ITypeInfo.Invoke 方法

定义

调用对象的方法或访问对象的属性,该方法或属性实现由类型说明描述的接口。

public:
 void Invoke(System::Object ^ pvInstance, int memid, short wFlags, System::Runtime::InteropServices::ComTypes::DISPPARAMS % pDispParams, IntPtr pVarResult, IntPtr pExcepInfo, [Runtime::InteropServices::Out] int % puArgErr);
public void Invoke (object pvInstance, int memid, short wFlags, ref System.Runtime.InteropServices.ComTypes.DISPPARAMS pDispParams, IntPtr pVarResult, IntPtr pExcepInfo, out int puArgErr);
abstract member Invoke : obj * int * int16 * DISPPARAMS * nativeint * nativeint * int -> unit
Public Sub Invoke (pvInstance As Object, memid As Integer, wFlags As Short, ByRef pDispParams As DISPPARAMS, pVarResult As IntPtr, pExcepInfo As IntPtr, ByRef puArgErr As Integer)

参数

pvInstance
Object

对由此类型说明描述的接口的引用。

memid
Int32

用于标识接口成员的值。

wFlags
Int16

描述 Invoke 调用的上下文的标志。

pDispParams
DISPPARAMS

对结构的引用,该结构包含一个参数数组、一个命名参数的 DISPID 数组和每个数组中元素数的计数。

pVarResult
IntPtr

nativeint

对用于存储结果的位置的引用。 如果 wFlags 指定 DISPATCH_PROPERTYPUTDISPATCH_PROPERTYPUTREF,则忽略 pVarResult。 如果不需要任何结果,则设置为 null

pExcepInfo
IntPtr

nativeint

指向异常信息结构的指针,该结构仅在返回 DISP_E_EXCEPTION 时才被填充。

puArgErr
Int32

如果 Invoke 返回 DISP_E_TYPEMISMATCHpuArgErr 则指示类型不正确的参数内的 rgvarg 索引。 如果多个参数返回错误,则 puArgErr 仅指示第一个具有错误的参数。 此参数未经初始化即被传递。

注解

可以通过 方法访问 PtrToStructure 参数的值pDispParams

参数的有效值为 wFlags

Value 说明
DISPATCH_METHOD 成员作为方法进行访问。 如果存在歧义,则可以设置此标志和 DISPATCH_PROPERTYGET 标志。
DISPATCH_PROPERTYGET 成员作为属性或数据成员进行检索。
DISPATCH_PROPERTYPUT 成员将更改为属性或数据成员。
DISPATCH_PROPERTYPUTREF 通过使用引用赋值而不是值赋值来更改成员。 仅当属性接受对 对象的引用时,此值才有效。

有关详细信息,请参阅 ITypeInfo::Invoke 方法

适用于