Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IRQL and maybe other platform-dependent constants mismatch #77

Open
HoShiMin opened this issue Aug 22, 2024 · 0 comments
Open

IRQL and maybe other platform-dependent constants mismatch #77

HoShiMin opened this issue Aug 22, 2024 · 0 comments

Comments

@HoShiMin
Copy link

HoShiMin commented Aug 22, 2024

In C++ WDK, we have different definitions of IRQL constants for different platforms (_X86_, _AMD64_, _ARM_, _ARM64_). But in windows-rs we have consts from the _X86_ target for all platforms:

// wdm.h:
#if defined(_X86_) 
...
#define HIGH_LEVEL 31               // Highest interrupt level
...
#endif 
#if defined(_AMD64_)
...
#define HIGH_LEVEL 15                   // Highest interrupt level
...
#endif

But got:

// sys::src::Windows::Wdk::System::SystemServices::mod.rs
pub const HIGH_LEVEL: u32 = 31u32; // Must be 15 for x86_64, arm and arm64 targets

And it's a critical issue as we have to re-check all constants now to ensure they're correct...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant