2016-12-01 40 views
-1

在「MDbg Sample.zip」項目中,從COM模塊調用該函數爲: [ComImport,Guid(「3D6F5F61-7538-11D3-8D5B-00104B35E7EF」),InterfaceType((short)1) ] public interface ICorDebug {...}問題是在哪裏可以找到Guid(「3D6F5F61-7538-11D3-8D5B-00104B35E7EF」),我無法在註冊表中找到它,但是如何將ICoreDebug接口與COM連接模塊?如何調用ICorDebug

回答

1

它不在註冊表中。該guid是IID,ICorDebug不支持遠程訪問,因此沒有理由在接口上註冊存根/代理。

如何得到一個實例取決於安裝了哪些版本的運行時,但現在「每個人」都安裝了CLRv4,因此您可以通過ICLRMetaHost進行訪問。

+0

非常感謝! –

+0

您好@Brian Reichle,我已根據您的提示進行編程:hr = pRuntimeInfo-> GetInterface(CLSID_CLRRuntimeHost,IID_PPV_ARGS(&pRuntimeHost)); hr = pRuntimeInfo-> GetInterface(CLSID_CLRRuntimeHost,IID_ICLRRuntimeHost,(LPVOID *)&pRuntimeHost);但是,當我調試代碼時,出現如下通知:的符號文件中沒有可用的類型信息。你知道如何解決這個問題嗎?非常感謝。 –

+0

我不太確定你的意思,但'CLSID_CLRRuntimeHost'看起來不合適。 (ICLRRuntimeHost是您在進程中託管運行時的東西,通常不用於創建ICorDebug) –