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