不同的区域具有相同的分配地址

时间:2014-03-10 21:50:02

标签: windows windows-7 operating-system virtual-address-space virtualquery

我在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

怎么会发生?

感谢所有人。

1 个答案:

答案 0 :(得分:1)

来自MEMORY_BASIC_INFORMATION的文档:

  

对于免费页面,AllocationBase,AllocationProtect,Protect和Type成员中的信息未定义。