VirtualAlloc地址

dev*_*yax 2 c c++ winapi virtualalloc

我打算下面的代码

 void * ptr1 = VirtualAlloc((void*)0x70000000, 32*1024*1024, MEM_RESERVE, PAGE_READWRITE);
 void * ptr2 = VirtualAlloc((void*)0x80000000, 4*1024*1024, MEM_RESERVE, PAGE_READWRITE);

但VirtualAlloc失败,ptr1,ptr2的值始终为NULL.我想使用地址0x70000000,0x80000000.有谁知道如何使用这些地址?

Mik*_*wan 5

用户模式应用程序无法访问此部分内存.从以下MSDN页面:

用户应用程序无法使用共享堆地址范围(0x70000000到0x7fffffff)调用VirtualAlloc,因为这对于用户应用程序是只读的,对于内核模式是读/写的.