摘要:
1、COM的作用 COM作为一种软件模型,提供了程序之间通信的标准,但其最大的贡献在于对程序设计方法的变革。COM结合了对象技术和组件技术两种特性。对象特性使得应用系统的设计和实现更加符合现实世界的面貌;组件特性使得应用系统可以充分发挥组件的优势,以适应现代应用的需要。 2、组件的特性 组件之间可以在二进制级别上进行集成和重用;组件必须被独立地生产、获得和配置。 ... 阅读全文
摘要:
1、COM+ 由于历史的原因,COM、DCOM和MTS相互之间并不很融洽,难以形成统一的整体。COM+把这三者有效地统一起来,形成了一个全新的、功能强大的组件体系结构。 COM+并不是COM的新版本,而是COM的新发展,或者COM更高层次上的应用。COM +的底层结构仍然以COM为基础,它几乎包容了COM的所有内容。COM+把组件软件提升到应用层而不是底层的软件结构,它... 阅读全文
摘要:
1、ActiveX控制 ActiveX控制是Microsoft提供的功能强大的程序设计和开发技术。ActiveX控制既是一个自动化对象(当然也是一个标准的COM对象),也是一个界面元素,如同Windows的普通控制一样。 ActiveX控制是一门综合技术,它涉及到COM和OLE的许多技术精华,同时也与Windows操作系统紧密结合起来,它可作为Windows标准控制的一... 阅读全文
摘要:
1、自动化技术 自动化技术既以前提到的OLE自动化。虽然自动化技术建立在COM基础上,但自动化要比COM应用广泛得多。一方面,自动化继承了COM的很多优点,比如语言无关、进程透明等特性;另一方面,自动化简化了COM的一些底层细节,比如属性和方法的处理、一组专用于自动化的数据类型等。自动化也是OLE的基础,所以可以把自动化看作COM和OLE中间的一项技术。自动化的核心是IDispatc... 阅读全文
摘要:
1、DCOM COM的进程透明特性表现在组件对象和客户程序即可以拥有各自的进程空间,也可以共享同一个进程空间,COM负责把客户的调用正确传到组件对象中,并保证参数传递的正确性。组件对象和客户代码不必考虑调用传递的细节,只要按照一般的函数调用的方式实现即可。如果进一步拓展进程透明特性,考虑组件对象与客户程序运行在不同计算机上的情形,把进程透明性拓展为位置透明性,形成分布式组件对象模型,... 阅读全文
摘要:
1、概述 COM提供了应用之间数据交换的标准方案,称为统一数据传输(UDT,uniform data transfer)。统一数据传输技术建立在结构化存储技术的基础之上,它通过一个“数据对象”来表达要传输的数据信息,因此,统一数据传输技术的核心在于数据对象的定义和实现。剪贴板和拖-放是统一数据传输的两个典型应用。 2、数据交换标准 早期的OLE1.0版本使用DDE(... 阅读全文
摘要:
1、COM对象的创建方法 客户程序可以通过CoCreateInstance函数创建COM,在创建之前必须知道对象的一些基本情况,比如对象的CLSID或者对象的ProgID。 另一种对象创建方法是通过名字对象(moniker)创建,就是利用对象命名和绑定技术(即名字技术)。 2、名字技术的地位 名字技术算不上COM的基本核心,但也是COM体系结构中重要的... 阅读全文
摘要:
1、结构化存储 COM的结构化存储(structured storage)机制,也称为永久存储(persistent storage)机制。结构化存储可以说是软件存储技术的一个重要进展,COM针对组件软件的需要,在文件系统的基础上,提出了结构化存储的概念。利用结构化存储,组件程序之间可很好地协同工作,一个组件程序可以与另一个组件程序共享同一个文件,就如同一个应用程序与另一个应用程序共... 阅读全文
摘要:
1、COM的高级特性 COM规范中有一些高级特性,如可连接对象、永久存储、一致的数据传输等,使COM规范具有更强的生命力,它们也是OLE的基础,但它们的应用又不仅仅局限于OLE,这些高级特性已经广泛应用于Windows操作系统上。 2、入接口、出接口与接收器 入接口(incoming interface)是组件暴露给客户,被动地监听并为客户请求作出反应的接口。而出接... 阅读全文
摘要:
1、MFC和ATL 对于COM应用的开发来说,建立一套标准的、有能够不断发展的类库是非常有意义的,这样可以实现程序的重用性。Microsoft Visual C++提供了两套满足这样需要的类库:MFC库和ATL模板库。MFC不仅可用于建立COM应用,它更是一套Windows平台上各种应用开发的基本类库,而ATL则主要侧重于COM应用的开发,利用ATL可建立一些小巧、快捷的COM组件。 2、... 阅读全文