- 博客(4)
- 收藏
- 关注
转载 IDispatch接口 - Dual和Custom
当用ATL向导来创建一个接口的时候,向导会让我们选择Dual或者Custom.那么它们到底有什么分别呢?Dual鼠标移上去,其实是有个说明的。下面的截图没有显示后面的一些文字,实际意思是说这个接口同时支持IDispatch方式和vtable方式,这大概也就是双接口(Dual)名字的来源。vtable调用方式,指的是直接通过接口指针的虚函数表。比如[html]
2017-04-24 11:13:45 615
原创 COM连接点事件event
COM 中的典型方案是让客户端对象实例化服务器对象,然后调用这些对象。然而,没有一种特殊机制的话,这些服务器对象将很难转向并回调到客户端对象。COM 连接点便提供了这种特殊机制,实现了服务器和客户端之间的双向通信。使用连接点,服务器能够在服务器上发生某些事件时调用客户端。有了连接点,服务器可通过定义一个接口来指定它能够引发的事件。服务器上引发事件时,要采取操作的客户端会向服务器
2017-04-21 15:34:03 4250 3
转载 VARIANT and VARIANTARG 中的byref
在_IXXXEvent的Fire_onXXX(LONG *Response)函数中,若把该函数的参数作为返回值,if(Response){ varResult.byref = Response; varResult.vt = VT_I4|VT_BYREF;}在客户端的Invoke函数中获取方法:LONG *lValue = pVarResult-
2017-04-21 14:33:48 1005
原创 COM组件的接口类添加Event
自己获取有无event的区别是,在向导中是否勾选:连接点。红色为添加部分:import "oaidl.idl";import "ocidl.idl"; [ object, uuid(C74F7F62-D315-4BF6-9422-9B80D68DB4FA), dual, nonextensibl
2017-04-19 18:32:00 1630
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人