7

我有一个 32 位 COM 服务器(及其源代码) 源代码生成服务器和一个 32 位代理存根。(MIDL 编译器生成代理存根代码。)

我也想做一个 64 位代理,以便 64 位程序可以与我的 32 位 COM 服务器通信。

如何将 32 位代理转换为与 32 位进程对话的 64 位代理?我猜只是用 /D:_M_AMD64 重新编译是不够的。

4

1 回答 1

4

MIDL 编译器生成的代理代码应该可以工作。您只需要从该代码构建一个 64 位 dll。

确保您的类型定义正确。确保避免使用 UINT_PTR 之类的类型,当 64 位调用者调用 32 位服务器时,这些类型将不起作用。

于 2011-01-28T16:42:32.883 回答