Update all bindgen invocations for constants, types, and API-subset-specific modules to leverage the mutually exclusive header grouping mechanism. Specifically:
- Bindgen runs should first process base types, then run separately on each mutually exclusive header, always including the base headers but only one mutually exclusive header per run.
- Use bindgen's
allowlist_file and set allowlist_recursively to false to prevent duplicate definitions and allow correct parsing.
- Ensure this logic is reusable for all relevant code paths and easily maintainable as WDK header compatibility changes over time.
- Implementation should minimize changes outside of grouping logic and maximize reusability across the codebase.
Reference: See parent issue for detailed background and rationale.