readme.md

June 24, 2026 · View on GitHub

This repo provides a comprehensive set of Rust crates for building Windows applications — from low-level API access to high-level declarative UI.

How these docs are organized

Each crate has one page under crates/ covering both usage and internals — how the crate is built and maintained (the tool_bindings / tool_reactor / tool_package codegen pipeline, generated files, and conventions). Each crate's own readme.md is the user-facing introduction with a quick example, and the per-crate page links to it. Item-level API reference is the generated rustdoc on docs.rs, linked from every page.

Crates

Core & error handling

CrateDescription
windows-coreFundamental COM and Windows type support.
windows-resultWindows error handling and propagation.
windows-stringsWindows string interop types and macros.

Values & collections

CrateDescription
windows-numericsGraphics math types (vectors and matrices).
windows-collectionsStock WinRT collection types.
windows-referenceStock IReference<T> implementation.
windows-timeWinRT TimeSpan and DateTime.

Async & threading

CrateDescription
windows-futureWinRT async bridged to Rust futures.
windows-threadingSafe wrapper over the Win32 thread pool.

System services

CrateDescription
windows-registrySafe Windows registry access.
windows-servicesAuthor Windows services in Rust.
windows-versionQuery the Windows version at runtime.

COM macros & linking

CrateDescription
windows-implement#[implement] proc macro for COM/WinRT.
windows-interface#[interface] proc macro for COM interfaces.
windows-linkRaw-dylib import support (link!).
windows-targetsImport libs for older compilers.

UI & graphics

CrateDescription
windows-reactorDeclarative UI library backed by WinUI 3.
windows-canvas2D graphics built on Direct2D.
windows-webviewSafe wrapper around the WebView2 browser control.
windows-windowMinimal window creation and message loop.
windows-animationWrapper around the Windows Animation Manager.
windows-reactor-setupWindows App Runtime installer for reactor apps.

Codegen & metadata tooling

CrateDescription
windows-bindgenCode generator for Windows metadata.
windows-metadataLow-level ECMA-335 metadata library.
windows-rdlRDL parser and ECMA-335 generator.
riddleWindows metadata compiler.
cppwinrtBundles the C++/WinRT compiler.

Full Windows API projection

These crates project the entire Windows API surface. For new projects, prefer a focused binding generated with windows-bindgen, or compose the smaller crates above.

CrateDescription
windowsSafer projection of C-style, COM, and WinRT APIs.
windows-sysZero-overhead raw bindings for C-style Windows APIs.