rs_teststand_sys/lib.rs
1//! The low-level COM interop layer for the TestStand™ Engine API.
2//!
3//! This is the only crate in the `rs-teststand` workspace where `unsafe` is
4//! permitted. Every `unsafe` block must carry a safety comment justifying it
5//! (enforced by `clippy::undocumented_unsafe_blocks` at deny level).
6//!
7//! Scope: apartment (STA) initialization, late-bound `IDispatch` invocation,
8//! `VARIANT` conversion, HRESULT extraction, and the Win32 window and message
9//! facilities a COM apartment depends on (`os`). No TestStand™ semantics live
10//! here, the public `rs-teststand` crate builds the object model on top of the
11//! [`Dispatch`] seam.
12
13mod dispatch;
14mod error;
15mod value;
16mod variant;
17mod window;
18
19pub use dispatch::{ComDispatch, Dispatch, close_apartment, create_dispatch, init_apartment};
20pub use error::ComError;
21pub use value::Value;
22pub use window::{
23 DialogInfo, Dismissed, Raised, dismiss_blocking_dialog, find_blocking_dialog,
24 pump_thread_messages, surface_blocking_dialog,
25};