#error #api-error #winapi #ffi

无std get-last-error

Win32 API错误包装器

2个版本

0.1.1 2022年7月9日
0.1.0 2022年2月9日

#170 in Windows API

每月 28 次下载
2 个crate中使用

MIT 协议

10KB
137

get-last-error

CI crates.io Documentation dependency status MIT

Win32 API错误的包装器。

示例

可以从任意的 Win32Error 构造

use get_last_error::Win32Error;

let err = Win32Error::new(0);
println!("{}", err); // prints "The operation completed successfully."

Win32Error::get_last_error 获取当前线程的最后错误代码

use get_last_error::Win32Error;
use winapi::um::{winnt::HANDLE, processthreadsapi::OpenProcess};

fn open_process() -> Result<HANDLE, Win32Error> {
    let result = unsafe { OpenProcess(0, 0, 0) }; // some windows api call
    if result.is_null() { // null indicates failure.
        Err(Win32Error::get_last_error())
    } else {
        Ok(result)
    }
}

许可证

MIT许可证 (LICENSEhttp://opensource.org/licenses/MIT)

依赖项

~175KB