首页 > 代码库 > ATL 调度(Marshaling)

ATL 调度(Marshaling)

调度(Marshaling): 进程和计算机之间进行函数参数和返回值传输的一个过程。

 

核心: proxy / stub (代理 / 存根)

 

当需要实现调度时,COM在客户程序进程地址空间创建一个proxy对象, 在组件的地址空间创建一个stub对象。

客户程序与proxy交互,就像客户机和组件之间存在直接连接一样

组件与stub交互,就像组件与客户程序之间存在之间连接一样

这种方式使位置变得透明

如图所示:

 

client                             component

  |                                      |

  |                                      |

Proxy   <---------------->Stub

 

proxy和stub之间的交互,同一计算机使用LPC,在分布式网络使用RPC