12 unstable releases (4 breaking)
| 0.4.1 | Oct 6, 2025 |
|---|---|
| 0.3.4 | May 19, 2025 |
| 0.3.2 | Mar 18, 2025 |
| 0.2.0 | Jul 3, 2024 |
| 0.1.0 | Feb 22, 2024 |
#416 in Windows APIs
17,043,630 downloads per month
Used in 19,903 crates
(29 directly)
33KB
699 lines
Windows error handling
The windows-result crate provides efficient Windows error handling and propagation with support for Win32, COM, and WinRT APIs.
Start by adding the following to your Cargo.toml file:
[dependencies.windows-result]
version = "0.4"
Use the HRESULT, Error, and specialized Result types as needed:
use windows_result::*;
const S_OK: HRESULT = HRESULT(0);
const ERROR_CANCELLED: u32 = 1223;
const E_CANCELLED: HRESULT = HRESULT::from_win32(ERROR_CANCELLED);
fn main() -> Result<()> {
S_OK.ok()?;
let e = Error::new(E_CANCELLED, "test message");
assert_eq!(e.code(), E_CANCELLED);
assert_eq!(e.message(), "test message");
Ok(())
}