2011-01-28 38 views
7

我有一個32位COM服務器(及其源代碼) 該源生成服務器和一個32位代理存根。 (MIDL編譯器生成代理存根代碼。)如何生成64位COM代理

我想創建一個64位代理,以便64位程序可以與我的32位COM服務器通信。

如何將32位代理轉換爲與32位進程對話的64位代理? 我猜只是用/ D:_M_AMD64重新編譯是不夠的。

+0

不,/ D是不夠的,你實際上必須使用64位編譯器。爲PS項目添加x64平臺配置。 – 2011-01-28 18:06:20

回答

4

由MIDL編譯器生成的代理代碼應該可以工作。你只需要從該代碼構建一個64位的dll。

確保您的類型已正確定義。確保避免類似UINT_PTR的類型,這在64位調用者調用32位服務器時不起作用。