COM 客户端和服务器

COM 的一个关键方面是客户端和服务器的交互方式。 COM 客户端是获取指向 COM 服务器的指针并通过调用其接口的方法来使用其服务的任何代码或对象。 COM 服务器是向客户端提供服务的任何对象;这些服务采用 COM 接口实现的形式,可由任何能够获取指向服务器对象上某个接口的指针的客户端调用。

有两种主要类型的服务器:进程内进程外。 进程内服务器在动态链接库 (DLL) 中实现,而进程外服务器在可执行文件 (EXE) 中实现。 进程外服务器可以驻留在本地计算机或远程计算机上。 此外,COM 还提供一种机制,允许进程内服务器 (DLL) 在代理项 EXE 进程中运行,从而获得能够在远程计算机上运行进程的优势。 有关详细信息,请参阅 DLL 代理项

COM 编程模型和构造现已扩展,以便 COM 客户端和服务器可以跨网络协同工作,而不仅仅是在给定计算机中。 这样,现有应用程序就可以通过适当的管理方式与新应用程序进行交互和彼此进行交互,并且可以编写新应用程序来利用网络功能。

COM 客户端应用程序不需要注意服务器对象的打包方式,无论是打包为进程内对象(在 DLL 中),还是打包为本地对象或远程对象(在 EXE 中)。 分布式 COM 进一步允许将对象打包为服务应用程序,从而将 COM 与 Windows 的丰富管理和系统集成功能同步。

注意

在整个文档中,首字母缩略词 COM 优先于 DCOM。 这是因为 DCOM 不分离;而是含较长线路的 COM。 如果所描述的内容专门介绍远程操作,则使用术语分布式 COM

 

COM 旨在能够添加跨网络扩展的位置透明度支持。 它允许为单台计算机编写的应用程序跨网络运行,并提供扩展这些功能并添加到网络中所需的安全性的功能。 (有关详细信息,请参阅 COM 中的安全性。)

COM 指定了一种许多不同的应用程序可以使用类代码的机制。

有关详情,请参阅以下主题:

调用同步

COM 中的安全性