5 个不稳定版本

0.2.0 2024 年 7 月 3 日
0.1.2 2024 年 6 月 7 日
0.1.1 2024 年 4 月 12 日
0.1.0 2024 年 2 月 22 日
0.0.0 2024 年 2 月 2 日

Windows API 中排名 #148

Download history • Rust 包仓库 54683/week @ 2024-05-04 • Rust 包仓库 67823/week @ 2024-05-11 • Rust 包仓库 75755/week @ 2024-05-18 • Rust 包仓库 73944/week @ 2024-05-25 • Rust 包仓库 137141/week @ 2024-06-01 • Rust 包仓库 165303/week @ 2024-06-08 • Rust 包仓库 149229/week @ 2024-06-15 • Rust 包仓库 170797/week @ 2024-06-22 • Rust 包仓库 106435/week @ 2024-06-29 • Rust 包仓库 97800/week @ 2024-07-06 • Rust 包仓库 96576/week @ 2024-07-13 • Rust 包仓库 111601/week @ 2024-07-20 • Rust 包仓库 122408/week @ 2024-07-27 • Rust 包仓库 129929/week @ 2024-08-03 • Rust 包仓库 148692/week @ 2024-08-10 • Rust 包仓库 258031/week @ 2024-08-17 • Rust 包仓库

每月下载量 680,540
4,587 个crate中使用(5个直接使用)

MIT/Apache

32KB
645 行代码(不含注释)

Windows 错误处理

“windows-result” crate 提供了高效的 Windows 错误处理和传播,支持 Win32、COM 和 WinRT API。

首先将以下内容添加到您的 Cargo.toml 文件中

[dependencies.windows-result]
version = "0.2"

根据需要使用 HRESULTError 和专门的 Result 类型

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

lib.rs:

在此了解有关 Rust for Windows 的更多信息:https://github.com/microsoft/windows-rs

依赖项

~0–5MB