Rust for Windows Bindings: Generating the Entire Windows API Surface from Metadata

This page summarizes the projects mentioned and recommended in the original post on reddit.com/r/rust

Our great sponsors
  • Scout APM - Less time debugging, more time building
  • SonarLint - Deliver Cleaner and Safer Code - Right in Your IDE of Choice!
  • SaaSHub - Software Alternatives and Reviews
  • codegenrs

    Moving code-gen out of `build.rs`

    At least its a library for generating the bindings. You can then create a cargo xtask for it with something like codegenrs

  • windows-rs

    Rust for Windows

    https://github.com/microsoft/windows-rs/issues/142 I think this is the big blocker for easy cross-compilation.

  • Scout APM

    Less time debugging, more time building. Scout APM allows you to find and fix performance issues with no hassle. Now with error monitoring and external services monitoring, Scout is a developer's best friend when it comes to application development.

  • winapi-rs

    Rust bindings to Windows API

    As far as I could understand, this crate provides unsafe bindings for the Win32 API in Rust, which is the same thing that winapi does, except that everything is automatically generated from existent Win32 metadata, while winapi does everything by hand.

  • rust-dyn-call

    Do not use. Do not use. Do not use. (Calls a function dynamically)

    You might have luck by studying https://github.com/jam1garner/rust-dyn-call for the specific use case.

  • rust-windows-dll

    Macro for dynamically loading windows dll functions

    https://github.com/thisKai/rust-windows-dll is quite convenient.

  • winapi-kmd-rs

    Windows Kernel-Mode Drivers written in Rust

    I know but right now the best thing we have in terms of bindings to the native windows kernel APIs is https://github.com/pravic/winapi-kmd-rs which unfortunately never received polishing. I forked it a while back to include the bindings I needed but stopped after scratching my itch. I would love comprehensive bindings for that and got my hopes up when I saw this post.

  • Cargo

    The Rust package manager

  • SonarLint

    Deliver Cleaner and Safer Code - Right in Your IDE of Choice!. SonarLint is a free and open source IDE extension that identifies and catches bugs and vulnerabilities as you code, directly in the IDE. Install from your favorite IDE marketplace today.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts