rustc/vendor/windows-bindgen-0.58.0
2024-09-09 14:07:22 +02:00
..
default New upstream version 1.81.0+dfsg1 2024-09-09 14:07:22 +02:00
src New upstream version 1.81.0+dfsg1 2024-09-09 14:07:22 +02:00
.cargo-checksum.json New upstream version 1.81.0+dfsg1 2024-09-09 14:07:22 +02:00
Cargo.toml New upstream version 1.81.0+dfsg1 2024-09-09 14:07:22 +02:00
license-apache-2.0 New upstream version 1.81.0+dfsg1 2024-09-09 14:07:22 +02:00
license-mit New upstream version 1.81.0+dfsg1 2024-09-09 14:07:22 +02:00
readme.md New upstream version 1.81.0+dfsg1 2024-09-09 14:07:22 +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.58"

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());
    }
}