17、COM+ 编程中的上下文、对象激活与多线程编程

COM+ 编程中的上下文、对象激活与多线程编程

1. 调用上下文

在处理方法调用时,对象可能需要获取其调用者的更多信息,例如检查调用者的凭据。对象上下文仅存储对象自身的上下文信息,并不包含调用者的信息。

为解决这一问题,COM+ 为当前方法调用定义并关联了一个上下文。方法可以通过调用 CoGetCallContext API 来获取此调用上下文,其原型如下:

WINOLEAPI CoGetCallContext( /*IN*/ REFIID riid, 
  /*OUT*/ void **ppInterface ); 

调用上下文支持多个接口,参数 riid 指定了所请求接口的 IID。我们关注的接口有 IServerSecurity ISecurityCallContext

2. 对象激活

对象激活由 COM+ 提供的服务控制管理器(SCM)处理。当客户端使用 CoCreateInstance(Ex) CoGetClassObject 请求激活对象时,SCM 会定位并加载相应的组件,然后将原始对象或其代理的接口指针交给客户端。

对象激活主要有以下三种基本场景:
| 场景 | 描述 | 激活对象运行方式 |
| — | — | — |
| 1 | 激活器和组件都在本地机器上,且组件属于库应用程序 | 与激活

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值