In-Process 服务器
如果将 OLE 服务器应用程序实现为进程内服务器(在容器应用程序的进程空间中运行的 DLL),而不是作为本地服务器(在其自己的进程空间中运行的 EXE),则会简化容器和服务器之间的通信,因为两者之间的通信可以采用正常函数调用的形式。 不需要远程过程调用,因为两个应用程序在同一进程空间中运行。 正如预期的那样,管理参数封送处理的对象也是不必要的,尽管这些对象可能在 DLL 中聚合,而不会干扰容器和服务器之间的通信。
当 OLE 服务器应用程序作为进程内服务器实现时,不需要单独的对象处理程序,因为服务器本身位于客户端的进程空间中。 进程内服务器和对象处理程序之间的主要区别在于,服务器能够在处理程序无法管理处于运行状态的对象。 这种差异的一个后果是,服务器必须提供用户界面来作正在运行的对象,而处理程序会将此要求委托给对象的服务器。 在创建进程内服务器时,可以聚合 OLE 默认处理程序,使其处理基本任务,例如显示、存储和通知,同时仅实现处理程序未提供或未按照所需方式实现的服务。
有关详细信息,请参阅以下主题:
相关主题