转贴:
为了实现代码的重用,M i c r o s o f t定义了O L E(Object Linking and Embedding,对象链接和嵌入)标准,使得服务器模块和客户模块通过标准的接口进行通讯。两个模块可以在同一台计算机或位于不同的计算机上,位置对用户来说是无关紧要的。服务器模块实现了一组接口,客户模块通过这组接口进行通讯。
COM(Component Object Model)实现了OLE标准。COM可以帮助程序员完成下面的任务:
•
编写供多种语言使用的代码。
•
创建A c t i v e X控件。
•
通过OLE Automation操纵其他程序。
•
与其他计算机上的程序通讯。
其实,Wi n d o w s的很多服务是通过C O M接口提供的。如果要调整Wi n d o w s的某些界面元素,例如工具栏,可以调用被称为Shell API 的C O M接口。所谓模块可以是独立的应用程序或动态链接库( D L L)。在D L L中实现对象相对简单,因为应用程序与D L L驻留在相同的地址空间,地址对于彼此都有效。当两个独立的应用程序进行通讯时,C O M就得大费周折了,因为它们处于不同的地址空间,同一个地址指向不同的内存位置。