winapi_easy/
lib.rs

1/*!
2A small collection of various abstractions over the Windows API.
3*/
4
5#![cfg_attr(all(doc, nightly), feature(doc_auto_cfg))]
6#![allow(clippy::uninlined_format_args)]
7
8#[cfg(not(windows))]
9compile_error!(
10    "This crate only supports Windows. Use `[target.'cfg(windows)'.dependencies]` if necessary."
11);
12
13pub use windows;
14
15#[cfg(feature = "clipboard")]
16pub mod clipboard;
17pub mod com;
18#[cfg(feature = "fs")]
19pub mod fs;
20#[cfg(feature = "hooking")]
21pub mod hooking;
22#[cfg(feature = "input")]
23pub mod input;
24#[cfg(feature = "media")]
25pub mod media;
26pub mod messaging;
27#[cfg(feature = "process")]
28pub mod process;
29#[cfg(feature = "shell")]
30pub mod shell;
31#[cfg(feature = "ui")]
32pub mod ui;
33
34mod internal;
35mod string;
36
37// Workaround for the `windows::core::imp::interface_hierarchy` macro
38#[cfg(feature = "media")]
39extern crate self as windows_core;
40#[cfg(feature = "media")]
41mod imp {
42    pub(crate) use windows::core::imp::CanInto;
43}