pub trait AsRawDescriptor {
    fn as_raw_descriptor(&self) -> RawDescriptor;
Expand description

Trait for returning the underlying raw descriptor, without giving up ownership of the descriptor.

Required Methods§

Returns the underlying raw descriptor.

Since the descriptor is still owned by the provider, callers should not assume that it will remain open for longer than the immediate call of this method. In particular, it is a dangerous practice to store the result of this method for future use: instead, it should be used to e.g. obtain a raw descriptor that is immediately passed to a system call.

If you need to use the descriptor for a longer time (and particularly if you cannot reliably track the lifetime of the providing object), you should probably consider using SafeDescriptor (possibly along with IntoRawDescriptor) to get full ownership over a descriptor pointing to the same resource.

Trait Implementations§

Clones the underlying descriptor (handle), internally creating a new descriptor.

WARNING: Windows does NOT support cloning/duplicating all types of handles. DO NOT use this function on IO completion ports, sockets, or pseudo-handles (except those from GetCurrentProcess or GetCurrentThread). See for further details.

TODO(b/191800567): this API has sharp edges on Windows. We should evaluate making some adjustments to smooth those edges.

The type returned in the event of a conversion error.

Implementations on Foreign Types§