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.