1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
use windows::Win32::System::Memory::{
MEMORY_BASIC_INFORMATION, PAGE_PROTECTION_FLAGS, PAGE_TYPE, VIRTUAL_ALLOCATION_TYPE,
};
#[derive(Debug, Clone)]
pub struct MemoryBasicInformation {
pub base_address: usize,
pub alloc_base: usize,
pub alloc_protection: PAGE_PROTECTION_FLAGS,
pub region_size: usize,
pub state: VIRTUAL_ALLOCATION_TYPE,
pub protection: PAGE_PROTECTION_FLAGS,
pub memory_type: PAGE_TYPE,
}
impl From<MEMORY_BASIC_INFORMATION> for MemoryBasicInformation {
fn from(v: MEMORY_BASIC_INFORMATION) -> Self {
Self {
base_address: v.BaseAddress as _,
alloc_base: v.AllocationBase as _,
alloc_protection: v.AllocationProtect as _,
region_size: v.RegionSize,
state: v.State,
protection: v.Protect,
memory_type: v.Type,
}
}
}