This crate provides a smattering of safe routines for parts of winapi. The
primary purpose of this crate is to serve as a dumping ground for various
utility functions that make interactions with winapi safe. This permits the
unsafe when dealing with Windows APIs, and thus makes it
easier to audit.
A key abstraction in this crate is the combination of the
types. Both represent a valid Windows handle to an I/O-like object, where
Handle is owned (the resource is closed when the handle is dropped) and
HandleRef is borrowed (the resource is not closed when the handle is
dropped). Many of the routines in this crate work on handles and accept
anything that can be safely converted into a
HandleRef. This includes
standard library types such as
Note that this crate is completely empty on non-Windows platforms.
- Safe routines for dealing with the Windows console.
- Safe routines for dealing with files and handles on Windows.
- Safe routines for querying various Windows specific properties.
- A handle represents an owned and valid Windows handle to a file-like object.
- Represents a borrowed and valid Windows handle to a file-like object, such as stdin/stdout/stderr or an actual file.
- Construct borrowed and valid Windows handles from file-like objects.