rustc/vendor/windows-bindgen
2024-06-14 12:43:07 +02:00
..
default New upstream version 1.76.0+dfsg1 2024-06-14 12:43:07 +02:00
src New upstream version 1.76.0+dfsg1 2024-06-14 12:43:07 +02:00
.cargo-checksum.json New upstream version 1.76.0+dfsg1 2024-06-14 12:43:07 +02:00
Cargo.toml New upstream version 1.76.0+dfsg1 2024-06-14 12:43:07 +02:00
license-apache-2.0 New upstream version 1.71.1+dfsg1 2024-05-08 17:27:53 +02:00
license-mit New upstream version 1.71.1+dfsg1 2024-05-08 17:27:53 +02:00
readme.md New upstream version 1.76.0+dfsg1 2024-06-14 12:43:07 +02:00

Generate Rust bindings for Windows

The windows-bindgen crate automatically generates Rust bindings from Windows metadata.

Start by adding the following to your Cargo.toml file:

[dependencies.windows-targets]
version = "0.52"

[dev-dependencies.windows-bindgen]
version = "0.52"

Generates Rust bindings in a build script or test as needed:

#[test]
fn bindgen() {
    let args = [
        "--out",
        "src/bindings.rs",
        "--config",
        "flatten",
        "--filter",
        "Windows.Win32.System.SystemInformation.GetTickCount",
    ];

    windows_bindgen::bindgen(args).unwrap();
}

mod bindings;

fn main() {
    unsafe {
        println!("{}", bindings::GetTickCount());
    }
}