2

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

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

4

1 回答 1

1

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

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

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

从您的 IDL 自动生成的代码的代理存根应该为 64 位构建就好了。

于 2009-11-09T11:05:57.117 回答