我在Windows 7中检查进程的地址空间。我使用VirtualQueryEx
函数,这是我的示例的一部分,handleOfProcess_
处理某个进程:
MEMORY_BASIC_INFORMATION mbi;
bool ok = (VirtualQueryEx(handleOfProcess_, (LPCVOID)0x00020000, &mbi, sizeof(mbi))== sizeof(mbi));
ok = (VirtualQueryEx(handleOfProcess_, (LPCVOID)0x00021000, &mbi, sizeof(mbi))== sizeof(mbi));
当我进行调试时,我看到 0x00020000 的AllocationBase
0x00020000 , 0x00021000 <{1}} < / strong>是 0x00000000 ,这是另一个地区的Allocationbase
。
怎么会发生?
感谢所有人。
答案 0 :(得分:1)
来自MEMORY_BASIC_INFORMATION
的文档:
对于免费页面,AllocationBase,AllocationProtect,Protect和Type成员中的信息未定义。