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