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