azathoth_core/os/windows/process/
structs.rs1#![allow(non_snake_case, non_camel_case_types)]
2
3use crate::os::windows::types::HANDLE;
4use crate::os::windows::peb::structs::UNICODE_STRING;
5
6#[repr(C)]
8pub struct ProcessInformation {
9 pub process: HANDLE,
10 pub thread: HANDLE,
11 pub process_id: u32,
12 pub thread_id: u32,
13}
14
15#[repr(C)]
17pub struct SystemProcessInformation {
18 pub next_entry_offset: u32,
19 pub number_of_threads: u32,
20 pub working_set_private_size: i64,
21 pub hard_fault_count: u32,
22 pub number_of_threads_high_watermark: u32,
23 pub cycle_time: u64,
24 pub create_time: i64,
25 pub user_time: i64,
26 pub kernel_time: i64,
27 pub image_name: UNICODE_STRING,
28 pub base_priority: i32,
29 pub unique_process_id: usize,
30 pub inherited_from_unique_process_id: usize,
31 pub handle_count: u32,
32 pub session_id: u32,
33 pub unique_process_key: usize,
34 pub peak_virtual_size: usize,
35 pub virtual_size: usize,
36 pub page_fault_count: u32,
37 pub peak_working_set_size: usize,
38 pub working_set_size: usize,
39}
40
41#[repr(C)]
43pub struct StartupInfoW {
44 pub cb: u32,
45 pub reserved: *mut u16,
46 pub desktop: *mut u16,
47 pub title: *mut u16,
48 pub x: u32,
49 pub y: u32,
50 pub x_size: u32,
51 pub y_size: u32,
52 pub x_count_chars: u32,
53 pub y_count_chars: u32,
54 pub fill_attribute: u32,
55 pub flags: u32,
56 pub show_window: u16,
57 pub cb_reserved2: u16,
58 pub lp_reserved2: *mut u8,
59 pub std_input: HANDLE,
60 pub std_output: HANDLE,
61 pub std_error: HANDLE,
62}