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 指定一种机制,该机制使类代码可供许多不同的应用程序使用。
有关详细信息,请参阅以下主题:
相关主题