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

4

在64位机器上:

64位应用程序能否调用运行在32位进程中的COM服务器(外部进程)?

反之呢?(32位应用程序调用64位COM外部进程服务器)

谢谢!

2个回答

5

Out-proc COM的核心在于两个进程通过RPC(通常是LRPC)进行交互,因此它们的位数无关紧要。

我们使用COM+代理强制将32位的in-proc组件放在单独的进程中,唯一的目的是为了从64位客户端中多次调用它们-所有必要的封送工作都已准备完毕,因此不需要任何额外的努力。


1

这可能与MIDL:64位移植指南相关。

基本上它的意思是,如果你传递指针类型(如IUnknown等),那么没问题,但是如果你通过伪装成DWORD的指针来欺骗,就可能会遇到一些问题。


2
如果您尝试将DWORD作为指针传递到另一个进程中,即使是相同位数的进程,我想您仍然会遇到问题。 - sharptooth

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接