matrix-authentication-service/.gear/predownloaded-development/vendor/windows-result
2026-03-07 01:41:31 +03:00
..
src added rust vendor 2026-03-07 01:41:31 +03:00
.cargo-checksum.json added rust vendor 2026-03-07 01:41:31 +03:00
.cargo_vcs_info.json added rust vendor 2026-03-07 01:41:31 +03:00
Cargo.lock added rust vendor 2026-03-07 01:41:31 +03:00
Cargo.toml added rust vendor 2026-03-07 01:41:31 +03:00
Cargo.toml.orig added rust vendor 2026-03-07 01:41:31 +03:00
license-apache-2.0 added rust vendor 2026-03-07 01:41:31 +03:00
license-mit added rust vendor 2026-03-07 01:41:31 +03:00
README.md added rust vendor 2026-03-07 01:41:31 +03:00
readme.md added rust vendor 2026-03-07 01:41:31 +03:00
windows-result.natvis added rust vendor 2026-03-07 01:41:31 +03:00

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