#native #windows #ffi #win32 #com


Windows Native Undocumented API for Rust Language 🔥

5 stable releases

1.0.40 Aug 25, 2023
1.0.39 Aug 22, 2023

#68 in Windows APIs

28 downloads per month

MIT license

47K SLoC

Windows Native   Crates.io GitHub Workflow Status (with event) Crates.io

The Windows-Native Rust library provides a convenient and safe way to access the native Windows undocumented APIs using the Rust programming language. These APIs are mostly exported from the Process Hacker native API headers (phnt), enabling you to interact with Windows internals in a reliable and efficient manner.

Please note that using undocumented APIs can be risky, as they might change without notice in different Windows versions and can potentially cause system instability. Use this library with caution and ensure you have a good understanding of the implications of using undocumented APIs.


  • Access undocumented Windows APIs through Rust.
  • Headers sourced mainly from Process Hacker's NT headers.
  • Provides a safer interface compared to raw FFI.
  • Detailed documentation and examples for each API.
  • Easy-to-use functions and types for common Windows tasks.


Add this library to your Cargo.toml:

windows-native = "1.0.40"

or run this command

cargo add windows-native

this crate works with windows-rs so you have to install that too.


use std::{thread, time::Duration};

use windows_native::ntpsapi::{NtResumeProcess, NtSuspendProcess};
use windows::Win32::System::Threading::{OpenProcess, PROCESS_ALL_ACCESS};

let handle = unsafe { OpenProcess(PROCESS_ALL_ACCESS, false, 69420).unwrap() };
let result = unsafe { NtSuspendProcess(handle) };
println!("Result {:?}", result);
let result = unsafe { NtResumeProcess(handle) };
println!("Result {:?}", result);


Detailed documentation for each API and type can be found here.


Contributions are welcome! If you find a bug or want to add new features to the library, please open an issue or submit a pull request.


This project is licensed under the MIT License.


Windows-Native is provided as-is and does not guarantee compatibility with future Windows versions. Using undocumented APIs can have unintended consequences, including system instability and security vulnerabilities. Use at your own risk.


~2.5M SLoC