w32-error 1.0.0

Encapsulates Windows API error codes.


Travis CI Crates.io Docs.rs

w32-error is a Rust crate for encapsulating Windows API error codes. It provides the W32Error type, a thin wrapper over a DWORD with trait implementations for error handling.


  • #![no_std]-friendly - almost all of w32-error is available to #![no_std] crates. Parts that require libstd (Error trait impl, conversion to/from io::Error) are kept behind an opt-in feature gate.
  • Zero overhead - W32Error is guaranteed to have the same layout as a DWORD. Display::fmt doesn't access the heap; instead, it uses a small buffer on the stack to receive error messages.


To use w32-error, simply add it to your Cargo.toml.

By default, w32-error is configured for a #![no_std] environment:

w32-error = "^1.0.0"

Alternatively, features that require libstd can be manually enabled:

w32-error = { version = "^1.0.0", features = ["std"] }

For more details, see the API documentation.


Licensed under either of

at your option.


Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.