COM客户端/服务器交叉64/32位进程

时间:2010-06-30 09:36:44

标签: com 64-bit

在64位计算机上:

64位应用程序可以调用在32位进程中运行的COM服务器(out proc)吗?

反之亦然? (32位app调用64位COM输出proc服务器)

谢谢!

2 个答案:

答案 0 :(得分:5)

out-proc COM的全部意义在于这两个进程通过RPC(通常是LRPC)进行交互,因此它们各自具有哪些位数并不重要。

我们使用COM +代理将32位进程内组件强制转换为一个单独的进程,其唯一目的是多次从64位客户端使用它们 - 使用所有必要的编组工具,它可以毫不费力地工作。

答案 1 :(得分:1)

这可能是相关的MIDL: 64-Bit Porting Guide

基本上它说的是如果你传递指针类型(IUnknown等)就可以了,但如果你通过传递伪装成DWORD {{1}}的指针而作弊你可能会面对一些问题。