TargetProcess);
ExFreePool (Vad);
return Status;
}
下面是这个过程的内存示意图:
mem
但是从上面在win7 32位的环境下看,7ffdf000 也在分配范围内...如果页不在物理内存中,那对应的PDE,PTE都是无效的。逻辑地址到物理地址的转换是由处理器完成的。非PAE模式,一个32位的逻辑地址被分成下图所示的3部分。...判断PDE的0位是否为1, 如果不为1则PDE无效, 对应的1024个页面不在物理内存中, 虚拟地址递增4Mb (1024*4Kb)....如果PDE的7位为0, 表示对应的1024个页面中部分页面在物理内存中, 则判断PTE的0位是否为1, 如果为1说明PTE有效, 页在物理内存中, 如果为0则PTE无效, 页面不在物理内存中,...这样大缩小了搜索范围. (1) 0×80000000–0x9FFFFFFF还包含了引导系统(Ntoskrnl.exe和Hal.dll),(10) 0xEB0000000–0xFFBDFFFF还包含了系统页表项