winapi 0.2.5

Types and constants for WinAPI bindings. See README for list of crates providing function bindings.

winapi-rs Build status Build Status Gitter


Official IRC channel: #winapi on Mozilla IRC

This crate provides types and constants for WinAPI FFI bindings. They are gathered by hand using the Windows 8.1 SDK from Microsoft. I aim to replace all existing Windows FFI in other crates with this set of crates through the "Embrace, extend, and extinguish" technique.

If this crate is missing something you need, feel free to create an issue, open a pull request, or contact me via other means.

As of version 0.2, this crate depends on Rust 1.1 (in order to lose the dependency on libc). If you need compatibility with Rust 1.0 you must continue to use older 0.1.x versions.



winapi = "0.2"
winmm-sys = "0.1"

extern crate winapi;
extern crate winmm;
fn func() {


Bindings to library functions are in separate crates. The source to each crate is in the relevant subdirectory under the lib directory.

Usable crates

These are the ones that actually have functions in them:

Reserved crates

These are the ones that are reserved for future use: