Struct std::os::windows::io::OwnedHandle

1.63.0 · source ·
#[repr(transparent)]
pub struct OwnedHandle { /* private fields */ }
Available on Windows only.
Expand description

拥有所有权的句柄。

这将会丢弃时关闭句柄。

请注意,它可能具有值 -1,它在 OwnedHandle 中始终表示有效的句柄值,例如 the current process handle,而不是 INVALID_HANDLE_VALUE,尽管两者具有相同的值。 有关完整故事,请参见 这个

并且,它可能具有值 NULL (0),当控制台与进程分离或使用 windows_subsystem 时,可能会发生这种情况。

OwnedHandle 使用 CloseHandle 在关闭时丢弃其句柄。 因此,它不能与句柄一起使用来打开需要用 RegCloseKey 关闭的注册表项。

Implementations§

source§

impl OwnedHandle

source

pub fn try_clone(&self) -> Result<Self>

创建一个新的 OwnedHandle 实例,该实例与现有 OwnedHandle 实例共享相同的底层 object。

Trait Implementations§

source§

impl AsHandle for OwnedHandle

source§

fn as_handle(&self) -> BorrowedHandle<'_>

借用句柄。 Read more
source§

impl AsRawHandle for OwnedHandle

source§

fn as_raw_handle(&self) -> RawHandle

提取原始句柄。 Read more
source§

impl Debug for OwnedHandle

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

使用给定的格式化程序格式化该值。 Read more
source§

impl Drop for OwnedHandle

source§

fn drop(&mut self)

执行此类型的析构函数。 Read more
source§

impl From<Child> for OwnedHandle

source§

fn from(child: Child) -> OwnedHandle

从输入类型转换为此类型。
source§

impl From<ChildStderr> for OwnedHandle

source§

fn from(child_stderr: ChildStderr) -> OwnedHandle

从输入类型转换为此类型。
source§

impl From<ChildStdin> for OwnedHandle

source§

fn from(child_stdin: ChildStdin) -> OwnedHandle

从输入类型转换为此类型。
source§

impl From<ChildStdout> for OwnedHandle

source§

fn from(child_stdout: ChildStdout) -> OwnedHandle

从输入类型转换为此类型。
source§

impl From<File> for OwnedHandle

source§

fn from(file: File) -> OwnedHandle

从输入类型转换为此类型。
source§

impl<T> From<JoinHandle<T>> for OwnedHandle

source§

fn from(join_handle: JoinHandle<T>) -> OwnedHandle

从输入类型转换为此类型。
source§

impl From<OwnedHandle> for File

source§

fn from(owned: OwnedHandle) -> Self

从输入类型转换为此类型。
source§

impl From<OwnedHandle> for Stdio

source§

fn from(handle: OwnedHandle) -> Stdio

从输入类型转换为此类型。
source§

impl FromRawHandle for OwnedHandle

source§

unsafe fn from_raw_handle(handle: RawHandle) -> Self

从指定的原始句柄创建一个新的 I/O 对象。 Read more
source§

impl IntoRawHandle for OwnedHandle

source§

fn into_raw_handle(self) -> RawHandle

消耗此对象,返回原始底层句柄。 Read more
1.70.0 · source§

impl IsTerminal for OwnedHandle

source§

fn is_terminal(&self) -> bool

如果 descriptor/handle 引用 terminal/tty,则返回 trueRead more
source§

impl TryFrom<HandleOrInvalid> for OwnedHandle

§

type Error = InvalidHandleError

发生转换错误时返回的类型。
source§

fn try_from( handle_or_invalid: HandleOrInvalid ) -> Result<Self, InvalidHandleError>

执行转换。
source§

impl TryFrom<HandleOrNull> for OwnedHandle

§

type Error = NullHandleError

发生转换错误时返回的类型。
source§

fn try_from(handle_or_null: HandleOrNull) -> Result<Self, NullHandleError>

执行转换。
source§

impl Send for OwnedHandle

source§

impl Sync for OwnedHandle

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

获取 selfTypeIdRead more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

从拥有的值中一成不变地借用。 Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

从拥有的值中借用。 Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

返回未更改的参数。

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

调用 U::from(self)

也就是说,这种转换是 From<T> for U 实现选择执行的任何操作。

source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

发生转换错误时返回的类型。
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

执行转换。
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

发生转换错误时返回的类型。
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

执行转换。