2 releases

0.1.1 Jan 8, 2023
0.1.0 Dec 28, 2022

#127 in Windows APIs

MIT/Apache

295KB
3.5K SLoC

Safe bindings for the Windows Notification Facility

GitHub crates.io docs.rs license rustc 1.62+

The Windows Notification Facility (WNF) is a registrationless publisher/subscriber mechanism that was introduced in Windows 8 and forms an undocumented part of the Windows API.

This crate provides safe Rust abstractions over (a part of) this API. If you are looking for raw bindings to the API, take a look at the ntapi crate.

Note that while great care was taken in making these abstractions memory-safe, there cannot be a guarantee due to the undocumented nature of the API.

Installation

This crate is available on crates.io. In order to use it, add this to the dependencies table of your Cargo.toml:

[dependencies]
wnf = "0.1.1"

Some functionality of this crate is only available if the corresponding features are enabled. For example, in order to enable the subscribe feature:

[dependencies]
wnf = { version = "0.1.1", features = ["subscribe"] }

This is a Windows-only crate and will fail to compile on other platforms. If you target multiple platforms, it is recommended that you declare it as a platform specific dependency:

[target.'cfg(windows)'.dependencies]
wnf = "0.1.1"

Usage

For a detailed explanation on how to use this crate, see the crate documentation.

For examples, see the examples folder in the crate repository.

Minimum Supported Rust Version (MSRV) Policy

The current MSRV of this crate is 1.62.

Increasing the MSRV of this crate is not considered a breaking change. However, in such cases there will be at least a minor version bump. Each version of this crate will support at least the four latest stable Rust versions at the time it is published.

Changelog

See CHANGELOG.md

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Dependencies

~156MB
~2.5M SLoC