对象处理程序

如果 OLE 服务器应用程序是本地服务器,表示在自己的进程空间中运行,容器和服务器之间的通信必须跨进程边界进行。 此过程成本高昂,因此 OLE 依赖加载到容器的进程空间中的代理项对象来代表本地服务器应用程序执行操作。 此代理项对象(称为对象处理程序)服务于不需要服务器应用程序关注的容器请求,例如绘制请求。 当容器请求对象处理程序无法提供的服务时,处理程序将使用 COM 进程外通信机制与服务器应用程序通信。

对象处理程序对对象类唯一。 为一个类创建处理程序的实例时,不能将其用于另一个类。 当用于复合文档时,对象处理程序将在远程访问特定类的对象时实现容器端数据结构。

OLE 提供本地服务器应用程序可以使用的默认对象处理程序。 对于需要特殊行为的应用程序,开发人员可以实现一个自定义处理程序来替换默认处理程序或用于提供某些默认行为。

对象处理程序是包含多个交互组件的 DLL。 这些组件包括用于管理处理程序与其服务器应用程序之间通信的远程处理片段、用于存储对象的数据的缓存、有关如何设置数据格式和显示数据的信息,以及协调 DLL 的其他组件的活动的控制对象。 此外,如果对象是链接,DLL 还包括链接组件或链接对象,用于跟踪链接源的名称和位置。

缓存包含的数据和呈现信息足以让处理程序在其容器中显示已加载但未运行的对象。 OLE 提供 OLE 的默认对象处理程序和链接对象使用的缓存的实现。 缓存以对象处理程序满足容器绘制请求所需的格式存储数据。 当对象的数据发生更改时,该对象会向缓存发送通知,以便进行更新。 有关缓存的详细信息,请参阅查看缓存

有关详细信息,请参阅以下主题:

复合文档