Struct winsafe::guard::FreeLibraryGuard
source · pub struct FreeLibraryGuard { /* private fields */ }
Available on crate feature
kernel
only.Expand description
RAII implementation for HINSTANCE
which
automatically calls
FreeLibrary
when the object goes out of scope.
Implementations§
source§impl FreeLibraryGuard
impl FreeLibraryGuard
sourcepub const unsafe fn new(handle: HINSTANCE) -> Self
pub const unsafe fn new(handle: HINSTANCE) -> Self
Constructs the guard by taking ownership of the handle.
This method can be used as an escape hatch to interoperate with other libraries.
§Safety
Be sure the handle must be freed with the specified function at the end of scope.
sourcepub fn leak(&mut self) -> HINSTANCE
pub fn leak(&mut self) -> HINSTANCE
Ejects the underlying handle, leaving a
Handle::INVALID
in its
place.
Since the internal handle will be invalidated, the destructor will not run. It’s your responsability to run it, otherwise you’ll cause a resource leak.
Trait Implementations§
source§impl Deref for FreeLibraryGuard
impl Deref for FreeLibraryGuard
source§impl DerefMut for FreeLibraryGuard
impl DerefMut for FreeLibraryGuard
Auto Trait Implementations§
impl Freeze for FreeLibraryGuard
impl RefUnwindSafe for FreeLibraryGuard
impl Send for FreeLibraryGuard
impl !Sync for FreeLibraryGuard
impl Unpin for FreeLibraryGuard
impl UnwindSafe for FreeLibraryGuard
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more