服务器

服务器应用程序 (或组件应用程序) 创建 OLE 项 (或组件) 的容器应用程序使用。 可视化编辑服务器应用程序还支持可视编辑或就地激活。 OLE 服务器的另一个窗体是 自动化服务器。 一些服务器应用程序支持嵌入项中仅创建;其他支持嵌入的资源和链接的项目创建。 某些仅支持链接,不过,这很少见。 ,当用户编辑项目时,所有服务器应用程序必须由容器应用程序支持启动。 应用程序可以是容器和服务器。 换句话说,它能将数据绑定到其文档,并创建可组合为项目到其他应用程序的文档的数据。

miniserver 可以按容器只生成服务器应用程序的特定类型。 Microsoft Draw 和 Microsoft Graph 是 miniservers 的示例。 miniserver 不存储文档作为磁盘上的文件。 相反,它读取其文档自,并编写到项目文档属于容器。 因此, miniserver 仅支持嵌入,不链接。

完整的服务器上运行作为独立的应用程序或由容器应用程序生成。 完整的服务器可以存储文档作为磁盘上的文件。 它可以仅支持嵌入,嵌入和链接或仅仅链接。 容器应用程序的用户可以通过选择剪切或复制命令在服务器和粘贴命令创建一个嵌入项在容器。 链接项是通过选择复制命令在服务器和粘贴链接命令以创建的容器中。 或者,使用插入对象对话框,用户可以创建嵌入或链接的项。

下表总结了服务器的不同类型的属性:

服务器属性

服务器的类型

支持多个实例

每个文档项目

每个实例文档

Miniserver

1

1

SDI 完整服务器

1 (如果链接支持, 1 或更)

1

MDI 完整服务器

非 (不需要)

1 (如果链接支持, 1 或更)

0 个或更多

,在多个容器将用于编辑嵌入或链接的项目情况下,服务器应用程序应同时支持多个容器。 如果服务器不 SDI 应用程序 (或使用对话框接口的一 miniserver),服务器的多个实例必须能够同时运行。 这提供了应用程序的单独实例处理每个容器请求。

如果服务器是 MDI 应用程序,则可创建新的 MDI 子窗口,每次容器需要编辑项目。 这样,应用程序的单个实例可以支持多个容器。

您的服务器应用程序必须调用该 OLE 系统 DLL 解决方法,如果服务器的一个实例已经在运行,而另一个容器请求其服务:是否应生成服务器的新实例或处理所有容器的服务器请求的一个实例。

有关更多详细信息在服务器,请参见:

请参见

概念

MFC 中的 OLE

容器

容器:高级功能

菜单和资源(OLE)

注册

自动化服务器