14 releases

0.52.6 Jul 3, 2024
0.52.4 Feb 28, 2024
0.52.0 Nov 15, 2023
0.48.1 Jun 28, 2023
0.0.0 Sep 9, 2022

#210 in Rust patterns

Download history 2340628/week @ 2024-04-04 2446468/week @ 2024-04-11 2544464/week @ 2024-04-18 2283820/week @ 2024-04-25 2472720/week @ 2024-05-02 2438937/week @ 2024-05-09 2536401/week @ 2024-05-16 2426659/week @ 2024-05-23 2655014/week @ 2024-05-30 2620561/week @ 2024-06-06 2703412/week @ 2024-06-13 2695396/week @ 2024-06-20 2702365/week @ 2024-06-27 2578585/week @ 2024-07-04 2873073/week @ 2024-07-11 2340019/week @ 2024-07-18

10,984,015 downloads per month
Used in 57,297 crates (14 directly)

MIT/Apache

8MB
51 lines

Import libs for Windows

The windows-targets crate includes import libs, supports semantic versioning, and optional support for raw-dylib.

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

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

Use the link macro to define the external functions you wish to call:

windows_targets::link!("kernel32.dll" "system" fn SetLastError(code: u32));
windows_targets::link!("kernel32.dll" "system" fn GetLastError() -> u32);

fn main() {
    unsafe {
        SetLastError(1234);
        assert_eq!(GetLastError(), 1234);
    }
}

lib.rs:

Learn more about Rust for Windows here: https://github.com/microsoft/windows-rs

Dependencies