cfg_if::cfg_if! {
if #[cfg(all(not(feature = "no-std"), windows))] {
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,
}
}
}
}
}