
COM技术内幕
jjunjoe
这个作者很懒,什么都没留下…
展开
-
第3章 QueryInterface函数
第3章 QueryInterface函数 1、接口查询: 客户同组件的交互都是通过一个接口完成的。在客户查询组件的其他接口时,也是通过接口完成的。这个接口就是IUnknown。 IUnknown接口的定义包含在Win32 SDK中的UNKNOWN.H头文件中。 inter原创 2011-08-29 17:12:34 · 768 阅读 · 0 评论 -
第2章 接口
第2章 接口 1、在COM中接口就是一切。 (1)接口可以保护系统免首外界变化的影响。 (2)接口可以使客户用同样的方式来处理不同的组件。 2、(1)COM接口在C++中是用纯抽象基类实现的。 (2)一个COM组件可以提供多个接口。 (3)一个C++类可以原创 2011-08-29 17:12:13 · 466 阅读 · 0 评论 -
第13章 一个完整的例子
第13章 一个完整的例子 这章没有笔记,在网上找到了本章的代码,折腾来折腾去也没折腾好。原创 2011-08-29 17:16:11 · 522 阅读 · 0 评论 -
第12章 多线程
第12章 多线程 1、COM并没有定义新的线程和进程模型,而是直接使用了Win32线程。COM也没有它自己的同步源于。COM中线程的创建和同步,使用的都是常规的Win32 API。 2、Win32线程有两种不同类型的线程:用户界面线程和工作线程。 3、COM线程也有两种:套原创 2011-08-29 17:15:56 · 520 阅读 · 0 评论 -
第11章 调度接口与自动化
第11章 调度接口与自动化 1、自动化是建立在COM基础上的。 2、一个自动化服务器实际上就是一个实现了IDispatch接口的COM组件。 3、一个自动化控制器则是一个通过IDispatch接口同自动化服务器进行通信的COM客户。 自动化控制器不会直接调用自动化服务器实原创 2011-08-29 17:15:35 · 998 阅读 · 0 评论 -
第9章 编程工作的简化
第9章 编程工作的简化 1、客户端的简化:可使用智能接口指针和C++包装类。 2、智能接口指针:像常规接口指针一样访问组件,将引用计数等细节隐藏起来,并且当程序的执行离开了智能接口指针的作用于之后,相应的接口将被释放掉。不适合封装某个接口或接口集。智能接口指针同组件的聚合类似原创 2011-08-29 17:14:43 · 499 阅读 · 0 评论 -
第7章 类厂
第7章 类厂 1、类厂实际上就是一个带有能够创建其他组件的组件。 引入类厂的原因是CoCreateInstance函数的局限性:CocreateInstance创建组件的过程是,传递给它一个CLSID,然后它创建相应的组件,并返回指向所请求的接口的指针。大所数情况下,CoCr原创 2011-08-29 17:14:08 · 1696 阅读 · 0 评论 -
第1章 组件
第1章 组件 1、COM,即组件对象模型,是关于如何建立组件以及如何通过组件建构应用程序的一个规范。 2、组件的优点:应用程序可随时间的流逝而发展变化;定制应用程序;组件库;分布式组件。 3、对组件的需求:组件必须动态连接;必须隐藏其内部实现细节。 4、COM组件是以Wi原创 2011-08-29 17:11:47 · 510 阅读 · 0 评论 -
第5章 动态链接
第5章 动态链接 1、从DLL中输出函数:用extern "c"标记。 2、在使用VC时,可以用DUMPBIN。EXE来得到某个DLL中所输出的符号的清单。如下面的命令: dumpbin -exports Cmpnt1.dll 3、装载DLL:LoadLibrary以被装原创 2011-08-29 17:13:21 · 440 阅读 · 0 评论 -
第10章 EXE中的服务器
第10章 EXE中的服务器 1、 对于跨越进程边界的接口,我们需要考虑如下一些条件: (1) 一个进程需要能够调用另外一个进程中的函数。 (2) 一个进程需要能够将数据传递给另外一个进程。 (3) 客户无需关心它所访问的服务器是进程内原创 2011-08-29 17:15:14 · 1025 阅读 · 0 评论 -
第8章 组件复用:包容与聚合
第8章 组件复用:包容与聚合 1、实现继承:指类继承其基类的代码或实现。 2、接口继承:指类继承其基类的类型或接口。 3、COM不支持实现继承,但COM支持接口继承。因为对于实现继承,当基类的实现被修改之后,派生类将无法正常运行而必须被修改,为了保证对组件的修改不会影响应用原创 2011-08-29 17:14:25 · 865 阅读 · 0 评论 -
第6章 关于HRESULT、GUID、注册表及其他细节
第6章 关于HRESULT、GUID、注册表及其他细节 1、HRESULT值的结构: | | 15bits设备代码 | 16bits返回代码原创 2011-08-29 17:13:44 · 936 阅读 · 0 评论 -
第4章 引用计数
第4章 引用计数 1、生命期控制 IUnknown的另外两个成员函数AddRef和Release的作用就是给客户提供一种让它指示何时处理完一个接口的手段。 2、AddRef和Release实现的是一种名为引用计数的内存管理技术。 引用计数是使组件能够自己将自己删除的最简单原创 2011-08-29 17:12:55 · 595 阅读 · 0 评论 -
后记:
后记: 差不多一个礼拜的时间,把《COM技术内幕》看了一遍,记得08年也这么干过的,可当时没有做笔记,所以这次看的时候,好多都没有印象了,感觉像第一次看一样。还真是好记性不如烂笔头,何况我还不是好记性。所以这次看就做了一下前面的笔记,前面6章的笔记有转载网友的内容,可不知道原创原创 2011-08-29 17:16:25 · 660 阅读 · 0 评论