【发布时间】:2011-04-16 06:40:53
【问题描述】:
我知道我阅读了有关代理进程的所有内容,并且能够创建代理 COM,但它要么全部在 32 位中工作,要么全部在 64 位中工作。
什么是正确的结构?
1) 32.dll
以上两种方法我都试过了,但调用32.dll都没有成功?
【问题讨论】:
-
有关从 64 位应用程序访问 32 位 DLL 的更全面技术列表,请参阅 this answer。
标签: dll com 32bit-64bit
我知道我阅读了有关代理进程的所有内容,并且能够创建代理 COM,但它要么全部在 32 位中工作,要么全部在 64 位中工作。
什么是正确的结构?
1) 32.dll
以上两种方法我都试过了,但调用32.dll都没有成功?
【问题讨论】:
标签: dll com 32bit-64bit
我不太了解您所指的代理 COM,但我通过在中间引入一个 COM 对象解决了这个问题(使用 64 位 exe 中的 32 位 dll):
32.dll 32bit-out-of-process-com-server.exe 64.exe.
抱歉,这可能是您所说的 32.com,不确定,但请确保中间 COM 对象位于 .exe(进程外)而不是 dll 中。这与您无法将原始 32.dll 加载到 64 位进程中的原因相同。
【讨论】:
这绝对是你想要的: 32.dll
另外,如果你不经常打电话,你可以通过套接字进行通信(只是一个备用计划)。
【讨论】: