2011-04-26 38 views
5

我在C++中有一個32位/ 64位COM DLL:mycom32.dll,mycom64.dll。他們都是完全一樣但mycom32.dll編譯爲32位和mycom64.dll編譯爲64位。 這意味着這兩個DLL具有相同的UUID和相同的CLSID!在64位環境中加載原生COM DLL

現在,有時我想從32位進程中使用此COM,有時我想從64位進程使用此COM。

是否可以在不創建兩個不同的CLSID的情況下加載正確的DLL,並在運行時檢查進程是否爲32位/ 64位?

回答

5

應該可以註冊他們兩個沒有問題;這是Registry Redirection應該解決的一部分。

這是如何工作的更多detailed explanation

+0

很酷。我會假設你需要不同的CLSID。 – 2011-04-26 15:54:44