快捷搜索:  xxx  as  推理研究所  幼幼  侦探研究所

打钱牛牛:xp下用户程序空间分配(1):大致框架



《windo打钱牛牛ws核心编程》奉打钱牛牛告我们,对付每个利用法度榜样的4G虚拟空间可以分为4个大年夜块:

0x0000 0000 ~ 0x0000 ffff:空指针赋值分区

0x0001 0000 ~ 0x7ffe ffff:用户模式分区

0x7fff 0000 ~ 0x7fff ffff:64K禁入分区

0x8000 0000 ~ 0xffff ffff:内核模式分区

然则再要详细点就必要自己钻研了。

咱就来看看一个利用法度榜样是怎么应用这4G的空间的 。先写段代码查询一下这4G空间中内存块的大年夜致分类:

SYSTEM_INFO info;

MEMORY_BASIC_INFORMATION mi;

HANDLE hProcess;

DWORD dwAddr;

MEMO打钱牛牛RY_BASIC_INFORMATION miBlock[1000];

int nCount = 0;

hProcess 打钱牛牛= GetCurrentProcess();

GetSystemInfo(&info);

dwAddr = (DWORD) info.lpMinimumApplicationAddress;

do

{

VirtualQueryEx(hProcess, (LPCVOID) dwAddr, &mi, sizeof(mi));

memcpy(&miBlock[nCount++], &mi, sizeof(mi));

dwA打钱牛牛ddr += mi.RegionSize;

} while(dwAddr

在这种要领下,将可以获得249个内存块,如下表所示(所有值均为 十六进制):

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

您可能还会对下面的文章感兴趣: