Struct winsafe::guard::HeapDestroyGuard
source · pub struct HeapDestroyGuard { /* private fields */ }
Available on crate feature
kernel
only.Expand description
RAII implementation for HHEAP
which automatically
calls
HeapDestroy
when the object goes out of scope.
Implementations§
source§impl HeapDestroyGuard
impl HeapDestroyGuard
sourcepub const unsafe fn new(handle: HHEAP) -> Self
pub const unsafe fn new(handle: HHEAP) -> 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) -> HHEAP
pub fn leak(&mut self) -> HHEAP
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 HeapDestroyGuard
impl Deref for HeapDestroyGuard
source§impl DerefMut for HeapDestroyGuard
impl DerefMut for HeapDestroyGuard
Auto Trait Implementations§
impl RefUnwindSafe for HeapDestroyGuard
impl Send for HeapDestroyGuard
impl !Sync for HeapDestroyGuard
impl Unpin for HeapDestroyGuard
impl UnwindSafe for HeapDestroyGuard
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