coLeaveServiceDomain 函数 (comsvcs.h)

用于保留使用 COM+ 服务的代码。

语法

void CoLeaveServiceDomain(
  [in] IUnknown *pUnkStatus
);

参数

[in] pUnkStatus

如果想要知道调用完成的事务的状态,则必须是指向实现 ITransactionStatus 接口的 对象的 IUnknown 接口的指针。 如果封闭的代码未使用事务,或者如果不需要知道事务状态,则此参数应为 NULL。 如果此参数为非 NULL ,并且服务域中未使用任何事务,则忽略此参数。

返回值

备注

在调用 CoEnterServiceDomainCoLeaveServiceDomain 之间包含的代码在其自己的上下文中运行,其行为就像是从上下文中创建的对象调用的方法一样。

CoLeaveServiceDomain 触发服务器,然后触发客户端策略,就像返回方法调用一样。 然后,从上下文堆栈中弹出当前上下文,调用 CoEnterServiceDomain 时运行的上下文将成为当前上下文。

由于设计高效且不涉及线程封送处理,与等效的方法调用相比,使用 CoEnterServiceDomainCoLeaveServiceDomain 会显著减少开销。

CoEnterServiceDomainCoLeaveServiceDomain 在应用程序中特别有用,这些应用程序可以使用这些函数访问 COM+ 服务,而无需创建组件即可执行此操作。

CoEnterServiceDomainCoLeaveServiceDomain 对可以嵌套。 用户需确保调用对均衡,以便每次调用 CoLeaveServiceDomain 都与以前对 CoEnterServiceDomain 的调用匹配。

要求

要求
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 comsvcs.h
Library ComSvcs.lib
DLL ComSvcs.dll

另请参阅

不带组件的 COM+ 服务

CServiceConfig

CoCreateActivity

CoEnterServiceDomain