我試圖編寫一些使用DIA (Debug Interface Access) SDK來查詢PDB文件的C#代碼。我使用this問題中描述的批處理文件在DIA類型庫周圍創建包裝程序集。現在我可以創建由SDK公開的不同COM類的實例。.NET COM回調
但是,出現了問題。該IDiaDataSource::loadDataForExe
方法要求實現以下接口之一的回調對象:
IDiaLoadCallback
IDiaLoadCallback2
IDiaReadExeAtOffsetCallback
IDiaReadExeAtRVACallback
所有這些接口中的IDL中定義,但是它們在生成的.NET程序集中不可用。
我是否缺少一些東西,或者是在C#中實現這些接口的唯一方法是首先手動使用各種COM屬性聲明它們?
可能重複_ [如何使用C#中的MS DIA SDK?](http://stackoverflow.com/questions/697541/how-do-i-use-the-ms-dia-sdk-from -c)_ – MickyD
@MickyDuncan,我不這麼認爲。我嘗試了那裏描述的方法,結果不完整(如我的問題所述)。 –
在OleView中查看是否在此處定義了接口。另請參閱底部的TypeLibs。也許他們沒有在你的系統上註冊? – MickyD