dispatchex(canoe.application) 接口继承关系
时间: 2023-08-05 14:06:29 浏览: 282
在COM中,DISPINTERFACE是一种用于定义COM组件中的IDispatch接口的方式。DISPINTERFACE中定义的方法可以通过IDispatch接口进行访问。
对于Canoe.Application对象,它实现了IDispatch接口,因此可以通过COM进行访问和控制。具体来说,Canoe.Application对象定义了一个名为DispatchEx的DISPINTERFACE,用于扩展IDispatch接口的功能。
下面是Canoe.Application对象中DispatchEx接口的定义及其继承关系:
```C++
[
uuid(xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx),
helpstring("DispatchEx Interface"),
hidden,
nonextensible,
oleautomation,
dual
]
interface DispatchEx : IDispatch
{
// 扩展的方法声明
};
[
uuid(xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx),
helpstring("Canoe.Application Interface"),
nonextensible,
oleautomation,
dual,
version(1.0)
]
interface ICanoeApplication : IDispatch
{
// Canoe.Application 接口中的方法声明
[id(0x000000c8)]
VARIANT_BOOL Quit();
// ...
};
[
uuid(xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx),
helpstring("Canoe.Application Class"),
noncreatable
]
coclass CanoeApplication
{
[default] interface ICanoeApplication;
[default, source] dispinterface _DCanoeApplicationEvents;
[source] dispinterface DispatchEx;
};
```
从上面的代码中可以看出,DispatchEx接口继承自IDispatch接口,而Canoe.Application对象实现了ICanoeApplication和DispatchEx接口,因此它具有这两个接口中的所有方法。同时,Canoe.Application对象还实现了_DCanoeApplicationEvents接口,用于处理对象的事件。
阅读全文