在64位环境中加载本机COM DLL

时间:2011-04-26 14:58:33

标签: c++ com 64-bit 32bit-64bit 32-bit

我在C ++中有一个32位/ 64位COM DLL:mycom32.dll,mycom64.dll。它们都完全相同但mycom32.dll编译为32位,mycom64.dll编译为64位。 这意味着BOTH DLL具有相同的UUID和相同的CLSID!

现在,有时我想从32位进程使用这个COM,有时我想从64位进程使用这个COM。

是否可以在不创建两个不同的CLSID的情况下加载正确的DLL,并在运行时检查进程是否为32位/ 64位?

1 个答案:

答案 0 :(得分:5)

应该可以毫无问题地注册它们;这是Registry Redirection应该解决的问题的一部分。

这里有更多detailed explanation的工作原理。