我有一个 32 位 COM 服务器(及其源代码) 源生成服务器和一个 32 位代理 stub 。 (MIDL 编译器生成代理 stub 代码。)
我也想制作一个 64 位代理,以便 64 位程序可以与我的 32 位 COM 服务器通信。
如何将 32 位代理转换为与 32 位进程通信的 64 位代理? 我猜只是用/D:_M_AMD64 重新编译是不够的。
最佳答案
MIDL 编译器生成的代理代码应该可以工作。您只需从该代码构建一个 64 位 dll。
确保您的类型定义正确。确保避免使用像 UINT_PTR 这样的类型,当 64 位调用者调用 32 位服务器时,它们将不起作用。
关于c++ - 如何生成 64 位 COM 代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4830654/