GlobalAlloc函数GMEM_ZEROINIT参数的疑问,该如何处理

GlobalAlloc函数GMEM_ZEROINIT参数的疑问
invoke GlobalAlloc,GPTR,1000000 API中GMEM_ZEROINIT表示需要将内存块中的所有字节预先初始化为0
系统似乎不给GlobalAlloc申请的内存分配空间,他只在自己那2G的线性地址中分配给自己如果产生碎片对系统也没影响,对GlobalAlloc函数申请的内存空间中的数据预先初始化为0似乎是个假象。当给GlobalAlloc返回的指针赋值后才在物理内存中写入数据,并且物理内存中所存放的数据并不是当前进程独享的,在系统内存不够用的时候很有可能被丢到交换文件中。


GPTR 标识 为GMEM_FIXED和GMEM_ZEROINIT组合.


------解决方案--------------------
C/C++ code
#include <Windows.h>

int _tmain(int argc, _TCHAR* argv[])
{
    void *p = GlobalAlloc(GPTR, 100);
    return 0;
}