MTS组件的创建过程
lostall·COM集中营
一个MTS组件的创建过程包含以下几个步骤:
1。一个客户机为在MTS中注册的COM对象调用CreateObject
2。这个COM对象的注册表设置表明它是一个MTS对象,所以创建交给MTS
Executive(MTS执行者)
3。COM运行时间将MTS Executive加载到MTS代理中,MTS代理是mts.exe
4。MTS Executive加载COM DLL,并创建它的一个类厂实例。MTS还为这个类厂
生成一个包装程序
5。然后MTS Executive创建Object Context(对象环境)和Context Wrapper(环境包装)
对象Context Wrapper实现真正务器对象请求的界面。
6。MTS Executive将Context Wrapper对象指针返回客户机。注意此时客户机以为它
创建一个组件对象实例,实际上并没有创建对象。
7。当客户用得到的Context Wrapper对象指针调用组件的一个方法时,MTS
Executive这时才从Object Context获得类厂包装程序,并真正的创建一个组件对象实例
。客户通过MTS执行者来调用组件对象实例的接口指针。
8。MTS Executive调用COM组件的IObjectControl::Active函数以通知组件它已经被
激活了,组件可以在这个时侯获得它的Object Context指针。
9。客户方完成对组件的方法调用
10。组件对象根据方法调用的结果决定是提交还是中止,SetComplete or SetAbort
。
11。MTS Execut