使用C ++从32位进程访问64位dll

时间:2014-05-29 05:55:26

标签: c++ com ipc 32bit-64bit

我确实发布了不可能在同一进程中将64位dll加载到32位dll中。 但是,我可以将我的64位dll放入com并从我的32位应用程序访问该com。 有人能为我提供样品吗?还有其他方法可以解决这个问题吗?

注意:我无法将64位dll构建为32位作为其外部第三方dll而我无法将我的32位进程转换为64位,因为它是一个非常庞大的应用程序。将其转换为64位需要我多年。

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:1)

您可以利用来自32位进程的64位访问进程通信 以下是一些步骤。

  1. 创建一个COM服务器example,您可以修改项目属性以生成64位程序。

  2. 在COM服务器中定义并实现com interface,加载64bit dll和wrapper dll函数。

  3. 32位应用程序调用COM服务器接口(CLSCTX_ACTIVATE_64_BIT_SERVER),按参数发送数据并获取结果。