I tried to import Microsoft's DIA SDK for use with .NET:
call "%VS90COMNTOOLS%\vsvars32.bat"
midl /I "%VSINSTALLDIR%\DIA SDK\include" "%VSINSTALLDIR%\DIA SDK\idl\dia2.idl" /tlb dia2.tlb
tlbimp dia2.tlb
Which seems to work correctly for the most part, except that, for some reason, it doesn't include some of the interfaces (e.g. IDiaEnumFrameData), while it includes the rest just fine.
(The interface is neither present in the .DLL file, nor in the .TLB file -- even though it is present in the C and header files.)
What is causing this?
I'm not sure if want to try the hard road, but if you have access to the IDL you could mimick the Interface using work similar to what was done in the TaskScheduler project on Codeproject. (Yes I know it's old).
TaskSchedulerInterop.cs
http://www.codeproject.com/script/Articles/ViewDownloads.aspx?aid=2407