SYMBOL INDEX (395 symbols across 45 files) FILE: 02-hello-world/build.rs function main (line 1) | fn main() { FILE: 02-hello-world/src/lib.rs function panic (line 9) | fn panic(_info: &PanicInfo) -> ! { function driver_entry (line 14) | pub extern "system" fn driver_entry(driver: &mut DRIVER_OBJECT, _: &UNIC... function driver_exit (line 24) | pub extern "system" fn driver_exit(_driver: &mut DRIVER_OBJECT) { FILE: 03-generating-bindings/build.rs function main (line 1) | fn main() { FILE: 03-generating-bindings/src/lib.rs function panic (line 8) | fn panic(_info: &PanicInfo) -> ! { function driver_entry (line 13) | pub extern "system" fn driver_entry(driver: &mut DRIVER_OBJECT, _: &UNIC... function driver_exit (line 23) | pub unsafe extern "C" fn driver_exit(_driver: *mut DRIVER_OBJECT) { FILE: 04-safe-framework/build.rs function main (line 1) | fn main() { FILE: 04-safe-framework/src/lib.rs type Module (line 5) | struct Module; method init (line 8) | fn init(_: Driver, _: &str) -> Result { method cleanup (line 14) | fn cleanup(&mut self, _: Driver) { FILE: 05-creating-devices/build.rs function main (line 1) | fn main() { FILE: 05-creating-devices/src/lib.rs type MyDevice (line 9) | struct MyDevice; method create (line 12) | fn create(&mut self, _device: &Device, request: IoRequest) -> Result Result Result Result { method cleanup (line 54) | fn cleanup(&mut self, _driver: Driver) { FILE: 06-reading-and-writing/build.rs function main (line 1) | fn main() { FILE: 06-reading-and-writing/src/lib.rs type MyDevice (line 12) | struct MyDevice { method read (line 17) | fn read(&mut self, _device: &Device, request: ReadRequest) -> Result Result Result { FILE: 07-io-controls/build.rs function main (line 1) | fn main() { FILE: 07-io-controls/src/lib.rs type MyDevice (line 9) | struct MyDevice { method print_value (line 18) | fn print_value(&mut self, _request: &IoControlRequest) -> Result Result Result Resu... type Module (line 60) | struct Module { method init (line 66) | fn init(mut driver: Driver, _: &str) -> Result { method cleanup (line 85) | fn cleanup(&mut self, _driver: Driver) { FILE: user/05-creating-devices/src/main.rs function main (line 3) | fn main() -> Result<(), std::io::Error> { FILE: user/06-reading-and-writing/src/main.rs function main (line 4) | fn main() -> Result<(), std::io::Error> { FILE: user/07-io-controls/src/main.rs constant IOCTL_PRINT_VALUE (line 6) | const IOCTL_PRINT_VALUE: u32 = 0x800; constant IOCTL_READ_VALUE (line 7) | const IOCTL_READ_VALUE: u32 = 0x801; constant IOCTL_WRITE_VALUE (line 8) | const IOCTL_WRITE_VALUE: u32 = 0x802; function main (line 14) | fn main() -> Result<(), Error> { FILE: windows-kernel-build/src/lib.rs type Error (line 7) | pub enum Error { type DirectoryType (line 14) | pub enum DirectoryType { function get_windows_kits_dir (line 21) | pub fn get_windows_kits_dir() -> Result { function get_km_dir (line 31) | pub fn get_km_dir(dir_type: DirectoryType) -> Result { function build (line 59) | pub fn build() -> Result<(), Error> { FILE: windows-kernel-rs/src/affinity.rs function get_current_cpu_num (line 14) | pub fn get_current_cpu_num() -> u32 { function get_cpu_count (line 23) | pub fn get_cpu_count() -> u32 { function broadcast_callback (line 30) | unsafe extern "C" fn broadcast_callback( function run_on_each_cpu (line 48) | pub fn run_on_each_cpu( function run_on_each_cpu_parallel (line 66) | pub fn run_on_each_cpu_parallel( function run_on_cpu (line 80) | pub fn run_on_cpu( FILE: windows-kernel-rs/src/allocator.rs function alloc_error (line 14) | fn alloc_error(_: Layout) -> ! { type KernelAllocator (line 29) | pub struct KernelAllocator { method new (line 38) | pub const fn new(tag: u32) -> Self { method alloc (line 48) | unsafe fn alloc(&self, layout: Layout) -> *mut u8 { method dealloc (line 75) | unsafe fn dealloc(&self, ptr: *mut u8, _layout: Layout) { FILE: windows-kernel-rs/src/device.rs type Access (line 13) | pub enum Access { method is_exclusive (line 19) | pub fn is_exclusive(&self) -> bool { type DeviceType (line 41) | pub enum DeviceType { method into (line 103) | fn into(self) -> u32 { method from (line 174) | fn from(value: u32) -> Self { type device_operations (line 246) | pub struct device_operations { type Device (line 251) | pub struct Device { method from_raw (line 259) | pub unsafe fn from_raw(raw: *mut DEVICE_OBJECT) -> Self { method as_raw (line 263) | pub unsafe fn as_raw(&self) -> *const DEVICE_OBJECT { method as_raw_mut (line 267) | pub unsafe fn as_raw_mut(&self) -> *mut DEVICE_OBJECT { method into_raw (line 271) | pub fn into_raw(mut self) -> *mut DEVICE_OBJECT { method extension (line 275) | pub(crate) fn extension(&self) -> &DeviceExtension { method extension_mut (line 279) | pub(crate) fn extension_mut(&self) -> &mut DeviceExtension { method device_type (line 283) | pub(crate) fn device_type(&self) -> DeviceType { method vtable (line 287) | pub(crate) fn vtable(&self) -> &device_operations { method data (line 291) | pub fn data(&self) -> &T { method data_mut (line 295) | pub fn data_mut(&self) -> &mut T { method drop (line 301) | fn drop(&mut self) { type RequestError (line 316) | pub struct RequestError(pub Error, pub IoRequest); type Completion (line 318) | pub enum Completion { type DeviceOperations (line 322) | pub trait DeviceOperations: Sync + Sized { method create (line 323) | fn create(&mut self, _device: &Device, request: IoRequest) -> Result Result Result( function release_callback (line 413) | extern "C" fn release_callback(device: *mut DEVICE_... type DeviceOperationsVtable (line 422) | pub(crate) struct DeviceOperationsVtable(core::marker::PhantomData); constant VTABLE (line 425) | pub(crate) const VTABLE: device_operations = device_operations { type DeviceExtension (line 432) | pub struct DeviceExtension { function dispatch_device (line 438) | pub extern "C" fn dispatch_device(device: *mut DEVICE_OBJECT, irp: *mut ... FILE: windows-kernel-rs/src/driver.rs type Driver (line 9) | pub struct Driver { method from_raw (line 14) | pub unsafe fn from_raw(raw: *mut DRIVER_OBJECT) -> Self { method as_raw (line 20) | pub unsafe fn as_raw(&self) -> *const DRIVER_OBJECT { method as_raw_mut (line 24) | pub unsafe fn as_raw_mut(&mut self) -> *mut DRIVER_OBJECT { method create_device (line 28) | pub fn create_device( FILE: windows-kernel-rs/src/error.rs type Error (line 37) | pub struct Error(NTSTATUS); constant GUARD_PAGE_VIOLATION (line 40) | pub const GUARD_PAGE_VIOLATION: Error = Error(STATUS_GUARD_PAGE_VI... constant DATATYPE_MISALIGNMENT (line 41) | pub const DATATYPE_MISALIGNMENT: Error = Error(STATUS_DATATYPE_MISA... constant BREAKPOINT (line 42) | pub const BREAKPOINT: Error = Error(STATUS_BREAKPOINT); constant SINGLE_STEP (line 43) | pub const SINGLE_STEP: Error = Error(STATUS_SINGLE_STEP); constant UNWIND_CONSOLIDATE (line 44) | pub const UNWIND_CONSOLIDATE: Error = Error(STATUS_UNWIND_CONSOL... constant UNSUCCESSFUL (line 45) | pub const UNSUCCESSFUL: Error = Error(STATUS_UNSUCCESSFUL); constant NOT_IMPLEMENTED (line 46) | pub const NOT_IMPLEMENTED: Error = Error(STATUS_NOT_IMPLEMENT... constant ACCESS_VIOLATION (line 47) | pub const ACCESS_VIOLATION: Error = Error(STATUS_ACCESS_VIOLAT... constant IN_PAGE_ERROR (line 48) | pub const IN_PAGE_ERROR: Error = Error(STATUS_IN_PAGE_ERROR); constant INVALID_HANDLE (line 49) | pub const INVALID_HANDLE: Error = Error(STATUS_INVALID_HANDLE); constant INVALID_PARAMETER (line 50) | pub const INVALID_PARAMETER: Error = Error(STATUS_INVALID_PARAM... constant END_OF_FILE (line 51) | pub const END_OF_FILE: Error = Error(STATUS_END_OF_FILE); constant NO_MEMORY (line 52) | pub const NO_MEMORY: Error = Error(STATUS_NO_MEMORY); constant ILLEGAL_INSTRUCTION (line 53) | pub const ILLEGAL_INSTRUCTION: Error = Error(STATUS_ILLEGAL_INSTR... constant NONCONTINUABLE_EXCEPTION (line 54) | pub const NONCONTINUABLE_EXCEPTION: Error = Error(STATUS_NONCONTINUABL... constant INVALID_DISPOSITION (line 55) | pub const INVALID_DISPOSITION: Error = Error(STATUS_INVALID_DISPO... constant ARRAY_BOUNDS_EXCEEDED (line 56) | pub const ARRAY_BOUNDS_EXCEEDED: Error = Error(STATUS_ARRAY_BOUNDS_... constant FLOAT_DENORMAL_OPERAND (line 57) | pub const FLOAT_DENORMAL_OPERAND: Error = Error(STATUS_FLOAT_DENORMA... constant FLOAT_DIVIDE_BY_ZERO (line 58) | pub const FLOAT_DIVIDE_BY_ZERO: Error = Error(STATUS_FLOAT_DIVIDE_... constant FLOAT_INEXACT_RESULT (line 59) | pub const FLOAT_INEXACT_RESULT: Error = Error(STATUS_FLOAT_INEXACT... constant FLOAT_INVALID_OPERATION (line 60) | pub const FLOAT_INVALID_OPERATION: Error = Error(STATUS_FLOAT_INVALID... constant FLOAT_OVERFLOW (line 61) | pub const FLOAT_OVERFLOW: Error = Error(STATUS_FLOAT_OVERFLOW); constant FLOAT_STACK_CHECK (line 62) | pub const FLOAT_STACK_CHECK: Error = Error(STATUS_FLOAT_STACK_C... constant FLOAT_UNDERFLOW (line 63) | pub const FLOAT_UNDERFLOW: Error = Error(STATUS_FLOAT_UNDERFL... constant INTEGER_DIVIDE_BY_ZERO (line 64) | pub const INTEGER_DIVIDE_BY_ZERO: Error = Error(STATUS_INTEGER_DIVID... constant INTEGER_OVERFLOW (line 65) | pub const INTEGER_OVERFLOW: Error = Error(STATUS_INTEGER_OVERF... constant PRIVILEGED_INSTRUCTION (line 66) | pub const PRIVILEGED_INSTRUCTION: Error = Error(STATUS_PRIVILEGED_IN... constant INSUFFICIENT_RESOURCES (line 67) | pub const INSUFFICIENT_RESOURCES: Error = Error(STATUS_INSUFFICIENT_... constant INVALID_USER_BUFFER (line 68) | pub const INVALID_USER_BUFFER: Error = Error(STATUS_INVALID_USER_... constant STACK_OVERFLOW (line 69) | pub const STACK_OVERFLOW: Error = Error(STATUS_STACK_OVERFLOW); method from_ntstatus (line 71) | pub fn from_ntstatus(status: NTSTATUS) -> Error { method to_ntstatus (line 75) | pub fn to_ntstatus(&self) -> NTSTATUS { type IntoResult (line 80) | pub trait IntoResult { method into_result (line 81) | fn into_result(self) -> Result<(), Error>; method into_result (line 85) | fn into_result(self) -> Result<(), Error> { FILE: windows-kernel-rs/src/intrin.rs function read_msr (line 8) | pub fn read_msr(register: u32) -> Result { function write_msr (line 22) | pub fn write_msr(register: u32, value: u64) -> Result<(), Error> { FILE: windows-kernel-rs/src/io.rs function _print (line 16) | pub fn _print(args: core::fmt::Arguments) { FILE: windows-kernel-rs/src/ioctl.rs type TransferMethod (line 20) | pub enum TransferMethod { method from (line 28) | fn from(value: u32) -> Self { method into (line 40) | fn into(self) -> u32 { type ControlCode (line 51) | pub struct ControlCode( constant METHOD_BITS (line 59) | const METHOD_BITS: usize = 2; constant NUM_BITS (line 60) | const NUM_BITS: usize = 12; constant ACCESS_BITS (line 61) | const ACCESS_BITS: usize = 2; constant TYPE_BITS (line 62) | const TYPE_BITS: usize = 16; constant METHOD_SHIFT (line 64) | const METHOD_SHIFT: usize = 0; constant NUM_SHIFT (line 65) | const NUM_SHIFT: usize = Self::METHOD_SHIFT + Self::METHOD_BITS; constant ACCESS_SHIFT (line 66) | const ACCESS_SHIFT: usize = Self::NUM_SHIFT + Self::NUM_BITS; constant TYPE_SHIFT (line 67) | const TYPE_SHIFT: usize = Self::ACCESS_SHIFT + Self::ACCESS_BITS; constant METHOD_MASK (line 69) | const METHOD_MASK: u32 = (1 << Self::METHOD_BITS) - 1; constant NUM_MASK (line 70) | const NUM_MASK: u32 = (1 << Self::NUM_BITS) - 1; constant ACCESS_MASK (line 71) | const ACCESS_MASK: u32 = (1 << Self::ACCESS_BITS) - 1; constant TYPE_MASK (line 72) | const TYPE_MASK: u32 = (1 << Self::TYPE_BITS) - 1; method device_type (line 74) | pub fn device_type(&self) -> DeviceType { method required_access (line 78) | pub fn required_access(&self) -> RequiredAccess { method number (line 82) | pub fn number(&self) -> u32 { method transfer_method (line 86) | pub fn transfer_method(&self) -> TransferMethod { method from (line 92) | fn from(value: u32) -> Self { method into (line 108) | fn into(self) -> u32 { FILE: windows-kernel-rs/src/lib.rs function panic (line 45) | fn panic(_info: &core::panic::PanicInfo) -> ! { function __CxxFrameHandler3 (line 54) | pub extern "system" fn __CxxFrameHandler3() -> i32 { type KernelModule (line 114) | pub trait KernelModule: Sized + Sync { method init (line 115) | fn init(driver: Driver, registry_path: &str) -> Result; method cleanup (line 116) | fn cleanup(&mut self, _driver: Driver) { FILE: windows-kernel-rs/src/mdl.rs type AccessMode (line 6) | pub enum AccessMode { type MemoryDescriptorList (line 11) | pub struct MemoryDescriptorList { method new (line 19) | pub fn new( method build_for_non_paged_pool (line 38) | pub fn build_for_non_paged_pool( method map_locked_pages (line 48) | pub fn map_locked_pages( method drop (line 75) | fn drop(&mut self) { type LockedMapping (line 84) | pub struct LockedMapping { method ptr (line 93) | pub fn ptr(&self) -> *mut core::ffi::c_void { method unlock (line 97) | pub fn unlock(self) -> MemoryDescriptorList { method drop (line 111) | fn drop(&mut self) { FILE: windows-kernel-rs/src/memory.rs type MemoryCaching (line 7) | pub enum MemoryCaching { type PhysicalAddress (line 21) | pub struct PhysicalAddress(u64); method from (line 24) | fn from(value: u64) -> Self { method into (line 30) | fn into(self) -> u64 { method from (line 36) | fn from(value: PHYSICAL_ADDRESS) -> Self { method into (line 42) | fn into(self) -> PHYSICAL_ADDRESS { type CopyAddress (line 52) | pub enum CopyAddress { method into (line 61) | fn into(self) -> (u32, MM_COPY_ADDRESS) { type IoMapping (line 81) | pub struct IoMapping { method new (line 90) | pub fn new(addr: PhysicalAddress, size: usize, caching: MemoryCaching)... method ptr (line 107) | pub fn ptr(&self) -> *mut core::ffi::c_void { method size (line 111) | pub fn size(&self) -> usize { method drop (line 117) | fn drop(&mut self) { function get_virtual_for_physical (line 127) | pub fn get_virtual_for_physical(addr: PhysicalAddress) -> *mut core::ffi... function read_memory (line 135) | pub fn read_memory( function write_memory (line 158) | pub fn write_memory( FILE: windows-kernel-rs/src/process.rs type ProcessId (line 9) | pub type ProcessId = usize; type Process (line 12) | pub struct Process { method as_ptr (line 17) | pub fn as_ptr(&self) -> PEPROCESS { method current (line 21) | pub fn current() -> Self { method by_id (line 35) | pub fn by_id(process_id: ProcessId) -> Result { method id (line 47) | pub fn id(&self) -> ProcessId { method attach (line 55) | pub fn attach(&self) -> ProcessAttachment { method drop (line 63) | fn drop(&mut self) { type ProcessAttachment (line 70) | pub struct ProcessAttachment { method attach (line 76) | pub unsafe fn attach(process: PEPROCESS) -> Self { method drop (line 90) | fn drop(&mut self) { type ZwProcess (line 104) | pub struct ZwProcess { method open (line 109) | pub fn open(id: ProcessId, access: ProcessAccess) -> Result Self { method irp (line 42) | pub fn irp(&self) -> &IRP { method irp_mut (line 46) | pub fn irp_mut(&self) -> &mut IRP { method flags (line 50) | pub fn flags(&self) -> IrpFlags { method stack_location (line 55) | pub fn stack_location(&self) -> &IO_STACK_LOCATION { method major (line 59) | pub fn major(&self) -> u8 { method complete (line 63) | pub(crate) fn complete(&self, value: Result) { type ReadRequest (line 83) | pub struct ReadRequest { method user_ptr (line 96) | pub fn user_ptr(&self) -> UserPtr { method offset (line 120) | pub fn offset(&self) -> i64 { method into (line 135) | fn into(self) -> IoRequest { type Target (line 88) | type Target = IoRequest; method deref (line 90) | fn deref(&self) -> &Self::Target { type WriteRequest (line 140) | pub struct WriteRequest { method user_ptr (line 153) | pub fn user_ptr(&self) -> UserPtr { method offset (line 177) | pub fn offset(&self) -> i64 { method into (line 192) | fn into(self) -> IoRequest { type Target (line 145) | type Target = IoRequest; method deref (line 147) | fn deref(&self) -> &Self::Target { type IoControlRequest (line 197) | pub struct IoControlRequest { method control_code (line 210) | pub fn control_code(&self) -> ControlCode { method function (line 218) | pub fn function(&self) -> (RequiredAccess, u32) { method user_ptr (line 224) | pub fn user_ptr(&self) -> UserPtr { method into (line 257) | fn into(self) -> IoRequest { type Target (line 202) | type Target = IoRequest; method deref (line 204) | fn deref(&self) -> &Self::Target { FILE: windows-kernel-rs/src/section.rs type SectionInherit (line 42) | pub enum SectionInherit { type BaseAddress (line 47) | pub enum BaseAddress { type Section (line 52) | pub struct Section { method open (line 60) | pub fn open(path: &str, obj_flags: ObjectFlags, access: SectionAccess)... method map_view (line 84) | pub fn map_view( method drop (line 134) | fn drop(&mut self) { type SectionView (line 141) | pub struct SectionView { method address (line 150) | pub fn address(&self) -> *mut core::ffi::c_void { method drop (line 156) | fn drop(&mut self) { FILE: windows-kernel-rs/src/string.rs function create_unicode_string (line 3) | pub fn create_unicode_string(s: &[u16]) -> UNICODE_STRING { FILE: windows-kernel-rs/src/symbolic_link.rs type SymbolicLink (line 6) | pub struct SymbolicLink { method new (line 11) | pub fn new(name: &str, target: &str) -> Result { method drop (line 31) | fn drop(&mut self) { FILE: windows-kernel-rs/src/sync/fast_mutex.rs type FastMutex (line 20) | pub struct FastMutex { function new (line 30) | pub fn new(data: T) -> Self { function into_inner (line 49) | pub fn into_inner(self) -> T { function try_lock (line 61) | pub fn try_lock(&mut self) -> Option> { function lock (line 87) | pub fn lock(&mut self) -> Option> { method default (line 102) | fn default() -> Self { function from (line 108) | fn from(data: T) -> Self { type FastMutexGuard (line 123) | pub struct FastMutexGuard<'a, T: 'a + ?Sized> { method drop (line 129) | fn drop(&mut self) { type Target (line 139) | type Target = T; method deref (line 141) | fn deref(&self) -> &T { method deref_mut (line 147) | fn deref_mut(&mut self) -> &mut T { FILE: windows-kernel-rs/src/sync/push_lock.rs type PushLock (line 38) | pub struct PushLock { function new (line 48) | pub fn new(data: T) -> Self { function into_inner (line 65) | pub fn into_inner(self) -> T { function read (line 84) | pub fn read(&mut self) -> Option> { function write (line 114) | pub fn write(&mut self) -> Option> { type PushLockReadGuard (line 138) | pub struct PushLockReadGuard<'a, T: 'a + ?Sized> { method drop (line 144) | fn drop(&mut self) { type Target (line 158) | type Target = T; method deref (line 160) | fn deref(&self) -> &T { type PushLockWriteGuard (line 171) | pub struct PushLockWriteGuard<'a, T: 'a + ?Sized> { method drop (line 177) | fn drop(&mut self) { type Target (line 191) | type Target = T; method deref (line 193) | fn deref(&self) -> &T { method deref_mut (line 199) | fn deref_mut(&mut self) -> &mut T { FILE: windows-kernel-rs/src/user_ptr.rs type UserPtr (line 3) | pub enum UserPtr { method new_buffered (line 19) | pub unsafe fn new_buffered( method new_direct (line 31) | pub unsafe fn new_direct( method new_neither (line 45) | pub unsafe fn new_neither() -> Self { method read_size (line 49) | pub fn read_size(&self) -> usize { method write_size (line 57) | pub fn write_size(&self) -> usize { method as_slice (line 65) | pub fn as_slice(&self) -> &[u8] { method as_mut_slice (line 81) | pub fn as_mut_slice(&mut self) -> &mut [u8] { method read (line 97) | pub fn read(&self) -> Result { method write (line 125) | pub fn write(&mut self, obj: &T) -> Result<(), Error> { FILE: windows-kernel-rs/src/version.rs type VersionInfo (line 8) | pub struct VersionInfo { method query (line 14) | pub fn query() -> Result { method major (line 29) | pub fn major(&self) -> u32 { method minor (line 34) | pub fn minor(&self) -> u32 { method build_number (line 39) | pub fn build_number(&self) -> u32 { FILE: windows-kernel-sys/build.rs type Callbacks (line 7) | struct Callbacks; method int_macro (line 10) | fn int_macro(&self, name: &str, _value: i64) -> Option { function generate_base (line 18) | fn generate_base() { function generate_intrin (line 45) | fn generate_intrin() { function generate_intrin (line 58) | fn generate_intrin() { function generate_ntoskrnl (line 62) | fn generate_ntoskrnl() { function generate_ntoskrnl (line 98) | fn generate_ntoskrnl() { function generate_netio (line 102) | fn generate_netio() { function generate_netio (line 131) | fn generate_netio() { function main (line 134) | fn main() { FILE: windows-kernel-sys/src/base.rs constant STATUS_SUCCESS (line 9) | pub const STATUS_SUCCESS: NTSTATUS = 0x00000000; constant STATUS_GUARD_PAGE_VIOLATION (line 10) | pub const STATUS_GUARD_PAGE_VIOLATION: NTSTATUS = 0x80000001 as u32 ... constant STATUS_DATATYPE_MISALIGNMENT (line 11) | pub const STATUS_DATATYPE_MISALIGNMENT: NTSTATUS = 0x80000002 as u32 ... constant STATUS_BREAKPOINT (line 12) | pub const STATUS_BREAKPOINT: NTSTATUS = 0x80000003 as u32 ... constant STATUS_SINGLE_STEP (line 13) | pub const STATUS_SINGLE_STEP: NTSTATUS = 0x80000004 as u32 ... constant STATUS_UNWIND_CONSOLIDATE (line 14) | pub const STATUS_UNWIND_CONSOLIDATE: NTSTATUS = 0x80000029 as u32 ... constant STATUS_UNSUCCESSFUL (line 15) | pub const STATUS_UNSUCCESSFUL: NTSTATUS = 0xC0000001 as u32 ... constant STATUS_NOT_IMPLEMENTED (line 16) | pub const STATUS_NOT_IMPLEMENTED: NTSTATUS = 0xC0000002 as u32 ... constant STATUS_ACCESS_VIOLATION (line 17) | pub const STATUS_ACCESS_VIOLATION: NTSTATUS = 0xC0000005 as u32 ... constant STATUS_IN_PAGE_ERROR (line 18) | pub const STATUS_IN_PAGE_ERROR: NTSTATUS = 0xC0000006 as u32 ... constant STATUS_INVALID_HANDLE (line 19) | pub const STATUS_INVALID_HANDLE: NTSTATUS = 0xC0000008 as u32 ... constant STATUS_INVALID_PARAMETER (line 20) | pub const STATUS_INVALID_PARAMETER: NTSTATUS = 0xC000000D as u32 ... constant STATUS_END_OF_FILE (line 21) | pub const STATUS_END_OF_FILE: NTSTATUS = 0xC0000011 as u32 ... constant STATUS_NO_MEMORY (line 22) | pub const STATUS_NO_MEMORY: NTSTATUS = 0xC0000017 as u32 ... constant STATUS_ILLEGAL_INSTRUCTION (line 23) | pub const STATUS_ILLEGAL_INSTRUCTION: NTSTATUS = 0xC000001D as u32 ... constant STATUS_NONCONTINUABLE_EXCEPTION (line 24) | pub const STATUS_NONCONTINUABLE_EXCEPTION: NTSTATUS = 0xC0000025 as u32 ... constant STATUS_INVALID_DISPOSITION (line 25) | pub const STATUS_INVALID_DISPOSITION: NTSTATUS = 0xC0000026 as u32 ... constant STATUS_ARRAY_BOUNDS_EXCEEDED (line 26) | pub const STATUS_ARRAY_BOUNDS_EXCEEDED: NTSTATUS = 0xC000008C as u32 ... constant STATUS_FLOAT_DENORMAL_OPERAND (line 27) | pub const STATUS_FLOAT_DENORMAL_OPERAND: NTSTATUS = 0xC000008D as u32 ... constant STATUS_FLOAT_DIVIDE_BY_ZERO (line 28) | pub const STATUS_FLOAT_DIVIDE_BY_ZERO: NTSTATUS = 0xC000008E as u32 ... constant STATUS_FLOAT_INEXACT_RESULT (line 29) | pub const STATUS_FLOAT_INEXACT_RESULT: NTSTATUS = 0xC000008F as u32 ... constant STATUS_FLOAT_INVALID_OPERATION (line 30) | pub const STATUS_FLOAT_INVALID_OPERATION: NTSTATUS = 0xC0000090 as u32 ... constant STATUS_FLOAT_OVERFLOW (line 31) | pub const STATUS_FLOAT_OVERFLOW: NTSTATUS = 0xC0000091 as u32 ... constant STATUS_FLOAT_STACK_CHECK (line 32) | pub const STATUS_FLOAT_STACK_CHECK: NTSTATUS = 0xC0000092 as u32 ... constant STATUS_FLOAT_UNDERFLOW (line 33) | pub const STATUS_FLOAT_UNDERFLOW: NTSTATUS = 0xC0000093 as u32 ... constant STATUS_INTEGER_DIVIDE_BY_ZERO (line 34) | pub const STATUS_INTEGER_DIVIDE_BY_ZERO: NTSTATUS = 0xC0000094 as u32 ... constant STATUS_INTEGER_OVERFLOW (line 35) | pub const STATUS_INTEGER_OVERFLOW: NTSTATUS = 0xC0000095 as u32 ... constant STATUS_PRIVILEGED_INSTRUCTION (line 36) | pub const STATUS_PRIVILEGED_INSTRUCTION: NTSTATUS = 0xC0000096 as u32 ... constant STATUS_INSUFFICIENT_RESOURCES (line 37) | pub const STATUS_INSUFFICIENT_RESOURCES: NTSTATUS = 0xC000009A as u32 ... constant STATUS_INVALID_USER_BUFFER (line 38) | pub const STATUS_INVALID_USER_BUFFER: NTSTATUS = 0xC00000E8 as u32 ... constant STATUS_STACK_OVERFLOW (line 39) | pub const STATUS_STACK_OVERFLOW: NTSTATUS = 0xC00000FD as u32 ... FILE: windows-kernel-sys/src/intrin.rs function read_cr3 (line 9) | pub fn read_cr3() -> u64; function write_cr3 (line 10) | pub fn write_cr3(value: u64); function read_msr (line 11) | pub fn read_msr(register: u32) -> u64; function read_msr_safe (line 12) | pub fn read_msr_safe(register: u32, value: &mut u64) -> NTSTATUS; function write_msr (line 13) | pub fn write_msr(register: u32, value: u64); function write_msr_safe (line 14) | pub fn write_msr_safe(register: u32, value: u64) -> NTSTATUS; function invlpg (line 15) | pub fn invlpg(value: usize); FILE: windows-kernel-sys/src/ntoskrnl.rs function _ExInitializeFastMutex (line 9) | pub fn _ExInitializeFastMutex(mutex: PFAST_MUTEX); function _ExAcquirePushLockExclusive (line 10) | pub fn _ExAcquirePushLockExclusive(push_lock: PEX_PUSH_LOCK); function _ExReleasePushLockExclusive (line 11) | pub fn _ExReleasePushLockExclusive(push_lock: PEX_PUSH_LOCK); function _ExAcquirePushLockShared (line 12) | pub fn _ExAcquirePushLockShared(push_lock: PEX_PUSH_LOCK); function _ExReleasePushLockShared (line 13) | pub fn _ExReleasePushLockShared(push_lock: PEX_PUSH_LOCK); function _IoGetCurrentIrpStackLocation (line 14) | pub fn _IoGetCurrentIrpStackLocation(irp: PIRP) -> PIO_STACK_LOCATION; function _IoGetNextIrpStackLocation (line 15) | pub fn _IoGetNextIrpStackLocation(irp: PIRP) -> PIO_STACK_LOCATION; function _IoSetCompletionRoutine (line 16) | pub fn _IoSetCompletionRoutine( function _IoCompleteRequest (line 24) | pub fn _IoCompleteRequest(irp: PIRP, priority_boost: CCHAR); function _MmGetMdlByteCount (line 25) | pub fn _MmGetMdlByteCount(mdl: PMDL) -> ULONG; function _MmGetMdlByteOffset (line 26) | pub fn _MmGetMdlByteOffset(mdl: PMDL) -> ULONG; function _MmGetSystemAddressForMdlSafe (line 27) | pub fn _MmGetSystemAddressForMdlSafe(mdl: PMDL, priority: ULONG) -> PVOID; function _ObDereferenceObject (line 28) | pub fn _ObDereferenceObject(p: *mut cty::c_void); function _ObReferenceObject (line 29) | pub fn _ObReferenceObject(p: *mut cty::c_void); FILE: windows-kernel-sys/src/wrapper.c function _ExInitializeFastMutex (line 3) | void _ExInitializeFastMutex( function _ExAcquirePushLockExclusive (line 9) | void _ExAcquirePushLockExclusive( function _ExReleasePushLockExclusive (line 15) | void _ExReleasePushLockExclusive( function _ExAcquirePushLockShared (line 21) | void _ExAcquirePushLockShared( function _ExReleasePushLockShared (line 27) | void _ExReleasePushLockShared( function PIO_STACK_LOCATION (line 33) | PIO_STACK_LOCATION _IoGetCurrentIrpStackLocation(PIRP irp) { function PIO_STACK_LOCATION (line 37) | PIO_STACK_LOCATION _IoGetNextIrpStackLocation(PIRP irp) { function _IoSetCompletionRoutine (line 41) | void _IoSetCompletionRoutine( function _IoCompleteRequest (line 52) | void _IoCompleteRequest( function ULONG (line 59) | ULONG _MmGetMdlByteCount(PMDL mdl) { function ULONG (line 63) | ULONG _MmGetMdlByteOffset(PMDL mdl) { function PVOID (line 67) | PVOID _MmGetSystemAddressForMdlSafe(PMDL mdl, ULONG priority) { function _ObDereferenceObject (line 71) | void _ObDereferenceObject(PVOID p) { function _ObReferenceObject (line 75) | void _ObReferenceObject(PVOID p) { FILE: windows-kernel-sys/src/wrapper.h type ULONG_PTR (line 6) | typedef ULONG_PTR _EX_PUSH_LOCK; type ULONG_PTR (line 7) | typedef ULONG_PTR EX_PUSH_LOCK; type ULONG_PTR (line 8) | typedef ULONG_PTR *PEX_PUSH_LOCK; type KGDTENTRY64 (line 10) | typedef union _KGDTENTRY64 type KIDTENTRY64 (line 45) | typedef union _KIDTENTRY64 FILE: windows-kernel-sys/src/wrapper_intrin.c function read_cr3 (line 6) | unsigned __int64 read_cr3(void) { function write_cr3 (line 10) | void write_cr3(unsigned __int64 Value) { function read_msr (line 14) | unsigned __int64 read_msr( function NTSTATUS (line 20) | NTSTATUS read_msr_safe( function write_msr (line 37) | void write_msr( function NTSTATUS (line 44) | NTSTATUS write_msr_safe( function invlpg (line 57) | void invlpg( FILE: winioctl/src/error.rs type Error (line 4) | pub enum Error { FILE: winioctl/src/ioctl.rs type DeviceType (line 11) | pub enum DeviceType { method into (line 73) | fn into(self) -> u32 { method from (line 138) | fn from(value: u32) -> Self { type TransferMethod (line 214) | pub enum TransferMethod { method from (line 222) | fn from(value: u32) -> Self { method into (line 234) | fn into(self) -> u32 { type ControlCode (line 245) | pub struct ControlCode(pub DeviceType, pub RequiredAccess, pub u32, pub ... constant METHOD_BITS (line 248) | const METHOD_BITS: usize = 2; constant NUM_BITS (line 249) | const NUM_BITS: usize = 12; constant ACCESS_BITS (line 250) | const ACCESS_BITS: usize = 2; constant TYPE_BITS (line 251) | const TYPE_BITS: usize = 16; constant METHOD_SHIFT (line 253) | const METHOD_SHIFT: usize = 0; constant NUM_SHIFT (line 254) | const NUM_SHIFT: usize = Self::METHOD_SHIFT + Self::METHOD_BITS; constant ACCESS_SHIFT (line 255) | const ACCESS_SHIFT: usize = Self::NUM_SHIFT + Self::NUM_BITS; constant TYPE_SHIFT (line 256) | const TYPE_SHIFT: usize = Self::ACCESS_SHIFT + Self::ACCESS_BITS; constant METHOD_MASK (line 258) | const METHOD_MASK: u32 = (1 << Self::METHOD_BITS) - 1; constant NUM_MASK (line 259) | const NUM_MASK: u32 = (1 << Self::NUM_BITS) - 1; constant ACCESS_MASK (line 260) | const ACCESS_MASK: u32 = (1 << Self::ACCESS_BITS) - 1; constant TYPE_MASK (line 261) | const TYPE_MASK: u32 = (1 << Self::TYPE_BITS) - 1; method from (line 265) | fn from(value: u32) -> Self { method into (line 281) | fn into(self) -> u32 {