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

TCS*_*TCS 5 c++ com 64-bit 32-bit 32bit-64bit

我在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位?

Luk*_*uke 5

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

以下是有关其工作原理的更详细说明.