#[repr(transparent)]pub struct BorrowedHandle<'handle> { /* private fields */ }
Available on Windows only.
Expand description
借来的句柄。
它有一个生命周期参数,将它与拥有句柄的事物的生命周期联系起来。
这使用 repr(transparent)
并具有主机句柄的表示形式,因此它可以在 FFI 中将句柄作为参数传递的地方使用,它不会被捕获或消耗。
请注意,它可能具有值 -1
,它在 BorrowedHandle
中始终表示有效的句柄值,例如 the current process handle,而不是 INVALID_HANDLE_VALUE
,尽管两者具有相同的值。
有关完整故事,请参见 这个。
并且,它可能具有值 NULL
(0),当控制台与进程分离或使用 windows_subsystem
时,可能会发生这种情况。
这种类型的 .to_owned()
实现返回另一个 BorrowedHandle
而不是 OwnedHandle
。它只是简单地复制原始句柄,然后在相同的生命周期下借用。
Implementations§
source§impl BorrowedHandle<'_>
impl BorrowedHandle<'_>
const: 1.63.0 · sourcepub const unsafe fn borrow_raw(handle: RawHandle) -> Self
pub const unsafe fn borrow_raw(handle: RawHandle) -> Self
source§impl BorrowedHandle<'_>
impl BorrowedHandle<'_>
sourcepub fn try_clone_to_owned(&self) -> Result<OwnedHandle>
pub fn try_clone_to_owned(&self) -> Result<OwnedHandle>
创建一个新的 OwnedHandle
实例,该实例与现有 BorrowedHandle
实例共享相同的底层 object。
Trait Implementations§
source§impl AsHandle for BorrowedHandle<'_>
impl AsHandle for BorrowedHandle<'_>
source§fn as_handle(&self) -> BorrowedHandle<'_>
fn as_handle(&self) -> BorrowedHandle<'_>
借用句柄。 Read more
source§impl AsRawHandle for BorrowedHandle<'_>
impl AsRawHandle for BorrowedHandle<'_>
source§fn as_raw_handle(&self) -> RawHandle
fn as_raw_handle(&self) -> RawHandle
提取原始句柄。 Read more
source§impl<'handle> Clone for BorrowedHandle<'handle>
impl<'handle> Clone for BorrowedHandle<'handle>
source§fn clone(&self) -> BorrowedHandle<'handle>
fn clone(&self) -> BorrowedHandle<'handle>
返回值的副本。 Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
从
source
执行复制分配。 Read moresource§impl Debug for BorrowedHandle<'_>
impl Debug for BorrowedHandle<'_>
1.70.0 · source§impl IsTerminal for BorrowedHandle<'_>
impl IsTerminal for BorrowedHandle<'_>
source§fn is_terminal(&self) -> bool
fn is_terminal(&self) -> bool
如果 descriptor/handle 引用 terminal/tty,则返回
true
。 Read moreimpl<'handle> Copy for BorrowedHandle<'handle>
impl Send for BorrowedHandle<'_>
impl Sync for BorrowedHandle<'_>
Auto Trait Implementations§
impl<'handle> RefUnwindSafe for BorrowedHandle<'handle>
impl<'handle> Unpin for BorrowedHandle<'handle>
impl<'handle> UnwindSafe for BorrowedHandle<'handle>
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
从拥有的值中借用。 Read more