af05f10145
Vendor the published, self-contained windows-drivers-rs 0.5.1 crates (wdk-build, wdk-sys) under vendor/ and add a first-class ApiSubset::Iddcx that bindgens iddcx/1.10/IddCx.h in an extra pass reusing bindgen::Builder::wdk_default (allowlist_file (?i).*iddcx.* — emits only IddCx items; WDF/DXGI types resolve to the shared base/wdf bindings, type-identity by construction). Mirrors the existing gpio/hid/spb subsets exactly: wdk-build gets the enum variant + iddcx_headers() (UMDF-only), wdk-sys gets generate_iddcx + the iddcx feature + pub mod iddcx. [patch.crates-io] redirects all wdk-sys/wdk-build (incl. wdk 0.4.1 transitive) to the patched copies. wdk-probe enables the iddcx feature. MAKE-OR-BREAK: does IddCx.h bindgen in wdk-sys config without a header conflict (issue #515) + does the generated module compile (type-identity)? CI answers it. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
24 lines
810 B
Rust
24 lines
810 B
Rust
// Copyright (c) Microsoft Corporation
|
|
// License: MIT OR Apache-2.0
|
|
|
|
//! Direct FFI bindings to WIN32 APIs from the Windows Driver Kit (WDK)
|
|
//!
|
|
//! This module contains all bindings to functions, constants, methods,
|
|
//! constructors and destructors in `windows.h`. Types are not included in this
|
|
//! module, but are available in the top-level `wdk_sys` module.
|
|
|
|
pub use bindings::*;
|
|
|
|
#[allow(missing_docs)]
|
|
mod bindings {
|
|
#[allow(
|
|
clippy::wildcard_imports,
|
|
reason = "the underlying c code relies on all type definitions being in scope, which \
|
|
results in the bindgen generated code relying on the generated types being in \
|
|
scope as well"
|
|
)]
|
|
use crate::types::*;
|
|
|
|
include!(concat!(env!("OUT_DIR"), "/windows.rs"));
|
|
}
|