从64位应用程序使用32位进程内COM服务器的简单方法是什么?

时间:2009-11-09 09:21:36

标签: windows com com-interop atl com+

我有一个32位本机C ++ ATL进程内COM服务器,它依赖于大量的传统32位库。我需要在64位应用程序中使用它,并尽可能地进行更改。

一种选择是将其放入COM +应用程序中。还有其他简单的选择吗?

1 个答案:

答案 0 :(得分:1)

创建一个32位辅助应用程序,用于加载inproc服务器dll,但它充当本地服务器。

编译64位的代理存根代码。

然后,当一个64位应用程序试图加载你的ActiveX,而不是使用32位inproc(它无法加载)时,它将加载32位本地服务器 - 一个单独的进程 - 这是合法的。

来自IDL的自动生成代码的代理存根应该可以很好地构建64位。