#[repr(transparent)]pub struct BorrowedHandle<'handle> { /* private fields */ }
Expand description
A borrowed handle.
This has a lifetime parameter to tie it to the lifetime of something that owns the handle.
This uses repr(transparent)
and has the representation of a host handle,
so it can be used in FFI in places where a handle is passed as an argument,
it is not captured or consumed.
Note that it may have the value INVALID_HANDLE_VALUE
(-1), which is
sometimes a valid handle value. See here for the full story.
And, it may have the value NULL
(0), which can occur when consoles are
detached from processes, or when windows_subsystem
is used.
Implementations
Return a BorrowedHandle
holding the given raw handle.
Safety
The resource pointed to by handle
must be a valid open handle, it
must remain open for the duration of the returned BorrowedHandle
.
Note that it may have the value INVALID_HANDLE_VALUE
(-1), which is
sometimes a valid handle value. See here for the full story.
And, it may have the value NULL
(0), which can occur when consoles are
detached from processes, or when windows_subsystem
is used.
Trait Implementations
Extracts the raw handle, without taking any ownership.