Crates.io | get-last-error |
lib.rs | get-last-error |
version | 0.1.1 |
source | src |
created_at | 2022-02-09 17:30:32.505114 |
updated_at | 2022-07-09 12:11:20.933962 |
description | An error wrapper over Win32 API errors. |
homepage | https://github.com/OpenByteDev/get-last-error |
repository | https://github.com/OpenByteDev/get-last-error |
max_upload_size | |
id | 529801 |
size | 13,222 |
An error wrapper over Win32 API errors.
A Win32Error
can be constructed from an arbitrary DWORD
:
use get_last_error::Win32Error;
let err = Win32Error::new(0);
println!("{}", err); // prints "The operation completed successfully."
The Win32Error::get_last_error
retrieves the last error code for the current thread:
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)
}
}
Licensed under MIT license (LICENSE or http://opensource.org/licenses/MIT)