我有一个32位本机C ++ ATL进程内COM服务器,它依赖于大量的传统32位库。我需要在64位应用程序中使用它,并尽可能地进行更改。
一种选择是将其放入COM +应用程序中。还有其他简单的选择吗?
答案 0 :(得分:1)
创建一个32位辅助应用程序,用于加载inproc服务器dll,但它充当本地服务器。
编译64位的代理存根代码。
然后,当一个64位应用程序试图加载你的ActiveX,而不是使用32位inproc(它无法加载)时,它将加载32位本地服务器 - 一个单独的进程 - 这是合法的。
来自IDL的自动生成代码的代理存根应该可以很好地构建64位。