由于内存不能跨进程访问,所以访问exe中的COM组件需要额外处理
1.跨进程调用函数 : 可以通过LPC (本地过程调用) 实现
2.参数传递 : 通过"调整",若在同一机器上,需要拷贝参数,若在远端,还需要考虑机器数据表示方面的不同。
调整 :将函数调用的参数从一个进程地址空间传到另一个进程地址空间
参数的调整可以通过IMarshal接口实现
LPC通过代理/残根调整参数
可以通过IDL描述接口,再通过MIDL编译生成代理和残根DLL。
IDL的一个示例:
由于内存不能跨进程访问,所以访问exe中的COM组件需要额外处理
1.跨进程调用函数 : 可以通过LPC (本地过程调用) 实现
2.参数传递 : 通过"调整",若在同一机器上,需要拷贝参数,若在远端,还需要考虑机器数据表示方面的不同。
调整 :将函数调用的参数从一个进程地址空间传到另一个进程地址空间
参数的调整可以通过IMarshal接口实现
LPC通过代理/残根调整参数
可以通过IDL描述接口,再通过MIDL编译生成代理和残根DLL。
IDL的一个示例: