OLE 后台:容器和服务器

容器应用程序是可将嵌入项或者链接项并入自己的文档中的应用程序。 容器应用程序管理的文档必须能够存储和显示 OLE 文档组件以及应用程序本身创建的数据。 容器应用程序还必须支持用户在必要时通过激活服务器应用程序来插入新项或编辑现有项。 有关容器应用程序的用户界面要求,请参阅容器:用户界面问题一文。

服务器应用程序或组件应用程序是可创建 OLE 文档组件供容器应用程序使用的应用程序。 服务器应用程序通常支持将数据拖放或复制到剪贴板,以便容器应用程序可以将数据作为嵌入项或链接项插入。 应用程序可以既是容器又是服务器。

大多数服务器是独立的应用程序或完整的服务器;它们既可以作为独立应用程序运行,也可以由容器应用程序启动。 微型服务器是一种特殊类型的服务器应用程序,只能由容器启动。 它不能作为独立应用程序运行。 Microsoft Draw 和 Microsoft Graph 服务器就是微型服务器。

容器和服务器不会直接通信, 而是通过 OLE 系统动态链接库 (DLL) 进行通信。 这些 DLL 提供容器和服务器调用的函数,容器和服务器提供 DLL 调用的回调函数。

使用这种通信方式时,容器不需要了解服务器应用程序的实现详细信息。 它允许容器接受任何服务器创建的项,而无需定义它可以使用的服务器类型。 因此,容器应用程序的用户可以利用将来的应用程序和数据格式。 如果这些新应用程序是 OLE 组件,复合文档将能够合并这些应用程序创建的项。

另请参阅

OLE 后台
OLE 后台:MFC 实现
容器
Servers
容器:客户端项
服务器:服务器项