I'm trying to write some C# code that uses the DIA (Debug Interface Access) SDK to query a PDB file. I used the batch file described in this question to create a wrapper assembly around the DIA type library. Now I was able to create instances of the different COM classes exposed by the SDK.
However, there appeared a problem. The IDiaDataSource::loadDataForExe
method requires a callback object that implements one of the following interfaces:
IDiaLoadCallback
IDiaLoadCallback2
IDiaReadExeAtOffsetCallback
IDiaReadExeAtRVACallback
All of these interfaces are defined in the IDL, however they are not available in the generated .NET assembly.
Am I missing something, or is the only way to implement these interfaces in C# is to first manually declare them using the various COM attributes?