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

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

当我进行debugging时,我看到0x00020000AllocationBase0x00020000 ,而0x00021000Allocationbase0x00000000 ,这是另一个区域的allocationBase

怎么会发生?

谢谢大家。

MEMORY_BASIC_INFORMATION的文档:

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