
COM
文章平均质量分 76
zj510
这个作者很懒,什么都没留下…
展开
-
COM线程模型 - MTA接口 (STA套间调用MTA对象)
http://support.microsoft.com/kb/150777原创 2014-09-04 15:42:38 · 3451 阅读 · 0 评论 -
COM线程模型 - MTA接口 (传递MTA COM对象给STA套间线程)
接上篇,能否把一个MTA套间里面创建的COM对象传递个STA套间原创 2014-08-28 00:13:14 · 2135 阅读 · 2 评论 -
IDispatch接口 - Dual和Custom
当用ATL向导来创建一个接口的时候,向导会让我们选择Dual或者Custom.那么它们到底有什么分别呢?Dual鼠标移上去,其实是有个说明的。下面的截图没有显示后面的一些文字,实际意思是说这个接口同时支持IDispatch方式和vtable方式,这大概也就是双接口(Dual)名字的来源。vtable调用方式,指的是直接通过接口指针的虚函数表。比如CComPtr spCar;原创 2014-09-24 11:59:35 · 2121 阅读 · 1 评论 -
COM 初始化
COM 初始化,说简单很简单,说复杂,有些时候还真不简单。首先,CoInitialize(NULL)和CoInitializeEx(NULL, COINIT_APARTMENTTHREADED);是一样的。我们尽可能使用CoInitializeEx来初始化COM比较好。STA套间调用CoInitializeEx(NULL, COINIT_APARTMENTTHREADED);,原创 2014-09-15 17:23:54 · 5312 阅读 · 0 评论 -
COM线程模型 - COM服务端(STA组件)创建线程
当我们在COM组件内部创建线程的时候,又是怎么样的一种情况呢?这里,我们需要分原创 2014-09-15 11:54:35 · 1932 阅读 · 0 评论 -
IDispatch接口 - 跨语言调用
当一个COM接口支持IDispatch的时候(Dual接口),它就可以被其他语言调用。这里我用perl试了一下。perl测试代码use warnings;use strict;use Win32::OLE;use constant ADS_UF_ACCOUNTDISABLE => 2;use constant ADS_SCOPE_SUBTREE => 2;my $MyCo原创 2014-09-24 12:08:10 · 1662 阅读 · 0 评论 -
IDispatch接口 - CComDispatchDriver智能指针
前面一篇文章讲述了怎么样通过GetIDsOfNames和Invoke来调用一个支持Idispach的COM组件。原创 2014-09-23 17:04:57 · 2971 阅读 · 0 评论 -
IDispatch接口 - GetIDsOfNames和Invoke
IDispatch接口是COM自动化的核心。其实,IDispatch这个接口本身也很简单,只有4个方法: IDispatch : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE GetTypeInfoCount( /* [out] */ __RPC__out原创 2014-09-23 10:58:15 · 15310 阅读 · 0 评论 -
COM线程模型 - MTA接口
除了STA之外,COM组件的另外一种非常重要的原创 2014-08-27 23:40:46 · 3222 阅读 · 0 评论 -
COM连接点 - CComDynamicUnkArray::Add问题(5)
无意中,发现一个有趣的问题原创 2014-09-10 11:26:55 · 1621 阅读 · 0 评论 -
COM线程模型 - STA接口
COM里面的线程模型应该是COM里面比较困难的一部分了,我自己也是花了很多时间,而且也还不是很懂。最近原创 2014-08-25 22:44:57 · 5607 阅读 · 3 评论 -
COM线程模型 - STA接口 (跨线程传递对象,消息循环)
前面一篇文章讲述了STA客户调用STA对象和MTA客户调用STA对象。其实并不难理解原创 2014-08-25 23:48:51 · 3170 阅读 · 1 评论 -
COM连接点 - IDL里面一定需要增加新的事件吗? (4)
当我们想要给连接点增加一个新的原创 2014-09-05 14:39:24 · 1538 阅读 · 0 评论 -
COM连接点 - 一个COM接口实现多个连接点(3)
之前讲到一个COM接口可以实现多个连接点。我们就来写个例子。其实,我还真不知道怎么用ATL原创 2014-09-05 14:26:33 · 2523 阅读 · 0 评论 -
COM线程模型 - STA接口 (MTA客户,跨线程传递COM对象)
前面一篇文章讲述了,STA客户环境下,跨线程传递COM对象的问题。那么在MTA环境下,是不是可以跨下称原创 2014-08-26 20:27:43 · 3639 阅读 · 0 评论 -
COM连接点 - 基本原理(2)
这次我们来看一下连接点的基本工作y原创 2014-09-05 13:53:53 · 4070 阅读 · 0 评论 -
COM连接点 - 最简单的例子 (1)
先创建一个COM接口,IMyCar原创 2014-09-04 22:11:27 · 10540 阅读 · 5 评论 -
COM线程模型 - MTA接口 (运行线程)
一个STA对象只能属于一个STA套间,那么一个STA对象一定是在一个线程里面运行的。原创 2014-09-04 15:55:26 · 1932 阅读 · 2 评论