Skip to content

windows-rs support for Microsoft DIA SDK (Debug Interface Access) #1327

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Closed
jeanga opened this issue Nov 16, 2021 · 5 comments
Closed

windows-rs support for Microsoft DIA SDK (Debug Interface Access) #1327

jeanga opened this issue Nov 16, 2021 · 5 comments
Labels
question Further information is requested

Comments

@jeanga
Copy link

jeanga commented Nov 16, 2021

Hi !

I am willing to port existing code from C++ to Rust.
However, windows::Win32::System::Diagnostics::Debug exposes the dbghelp interfaces, I could not find the Microsoft DIA SDK (Debug Interface Access) interfaces.

Is there any plan to add these to windows-rs?
If so, how can I help?
If not, is #81 the only way to go?

Many thanks for windows-rs, it is precious to Windows developers switching to Rust.

@riverar
Copy link
Collaborator

riverar commented Nov 16, 2021

@jeanga This should work today, if you drop in DIA SDK metadata. Let me write you a sample tomorrow, standby. (Redmond, WA time.)

@riverar riverar added the question Further information is requested label Nov 16, 2021
@riverar
Copy link
Collaborator

riverar commented Nov 17, 2021

@jeanga Got most of a sample written today after overcoming some metadata challenges. Will share tomorrow, thanks for your patience.

@riverar
Copy link
Collaborator

riverar commented Nov 17, 2021

Thanks for your patience @jeanga.

Check out this sample: microsoft/windows-samples-rs#40

The high level overview is:

  • Microsoft.Windows.WinmdGenerator reads in raw DIA SDK idl/headers and outputs Windows Metadata
  • The windows crate takes in this metadata and generates the appropriate Rust code
  • The sample app then simply adds the appropriate use declarations and calls DIA SDK APIs

What this sample doesn't show:

Going to close this for now, but feel free to continue the discussion. Thanks!

@riverar riverar closed this as completed Nov 17, 2021
@riverar
Copy link
Collaborator

riverar commented Nov 17, 2021

Now uses pre-generated bindings.

@jeanga
Copy link
Author

jeanga commented Nov 18, 2021

Just checked the sample! Thank you sooo much for the quick answer!
You ROCK!

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants