Generate smart pointers for windows raw handles with ergonomic APIs.
This crate doesn't offer pre-defined smart pointers. Instead, it provides a single [safe_handle!
] macro for generation:
Simple Smart Pointer, calling an unsafe Function on Drop
use safe_handle;
use ;
safe_handle!;
If you do not need to export the Handle
type, simply omit the pub
keyword.
Smart Pointer with additional Drop
logic
You can use a closure-based syntax:
use safe_handle;
use ;
safe_handle!;
Note that in this case you have to explicitly use unsafe
block.
Example
Refer to tests/bcrypt_hash.rs
to see how to safely wrap Windows Cryptography Next Generation (CNG) APIs for calculating MD5 hashes.