1

我检查了 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));

当我进行调试时,我看到0x00020000AllocationBase0x00020000,而0x000210000x00000000 这是另一个区域的。AllocationbaseallocationBase

怎么会发生?

谢谢大家。

4

1 回答 1

1

从文档中MEMORY_BASIC_INFORMATION

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

于 2014-03-10T23:11:14.937 回答