• 1.摘要
  • 2.dcom服务的概述
  • 2.1.简介
  • 2.2.DCOM 功能
  • 2.3.客户端
  • 3.DCOM 激活模式和终端服务器

dcom服务

dcom服务的概述

简介

DCOM 实际上是一项协议,它能让软件组件以一种可靠、安全和高效的方式通过网络进行直接通讯。DCOM 以前称为“网络OLE”,其设计使它能用在多种网络传输(包括 HTTP 等 Internet 协议)上。DCOM 以开放软件基金会的 DCE-RPC 规范为基础,并可以通过组件对象模型(COM) 而用于 Java 语言小程序和 ActiveX® 组件。

DCOM 功能

Terminal Server 4.0 中的 DCOM 功能是常规 Windows NT Server 4.0 DCOM 功能的一个子集。基于这一点,针对常规 Windows NT Server 4.0 环境编写并能在其上正常运行的一些应用程序,在终端服务器上可能无法正常运行。本文的目的就是说明那些使用 DCOM 功能的应用程序会出现什么样的行为。

以下 DCOM 功能可以在终端服务器上获得全面支持:

客户端

客户端行为(作为终端服务器的任一用户运行并通过 DCOM 调用其它机器的进程)没有变化。

如果没有直接或间接涉及 COM 激活过程(CoGetClassObject、CoCreateInstanceEx、由于远程调用而启动的进程等),则服务器端的行为也没有变化。例如,如果指向终端服务器机器上 COM 对象的接口指针被调整并传递给另一机器上的客户代码,则服务器端行为就不涉及激活过程。这种行为的发生通常是作为 DCOM 方法调用的输出参数,但也可能存在其它方式。那种情况下,对终端服务器(现在已作为 DCOM 服务器)的回调将照常进行(包括通常的安全限制)。一个间接激活的例子是,对一个解析到终端服务器机器并导致尝试在该机器上发生直接激活的文件标记的绑定。

DCOM 激活模式和终端服务器

在作为远程客户的服务器运行时,终端服务器系统在所支持的 DCOM 激活/进程启动模式方面会有所限制。对于任一给定的 ClassID 或 AppID,Windows NT 的 DCOM 通常支持四种激活/启动模式。

作为激活方运行(默认):在终端服务器中,本地进程由客户会话启动。

作为指定/命名用户运行:在终端服务器中,本地进程始终由会话 0(控制台)启动。

作为 Win32 和 Windows NT 服务运行:在终端服务器中,服务由会话 0(控制台)启动。

作为交互用户运行:不能用在终端服务器中。

对于终端服务器,只有模式 1(“作为激活方运行“)才受完全支持。模式 2 和 3(“作为指定/命名用户运行”和“作为 Win32 和 Windows NT 服务运行”)在终端服务器系统上运行时会出现不同的行为,因此 Microsoft 不推荐或支持这样做。第四种模式(“作为交互用户运行”),在终端服务器上根本不能运行。

DCOM 与 Windows 2000终端服务

Microsoft 的目标是确保上述问题在 Windows 2000 中能够解决。以下内容是对 Microsoft Windows® 2000终端服务下激活模式及其工作机制的简要描述:

作为激活方运行: