我经常看到VirtualAlloc调用保留内存失败。我请求2MB,以便分配不计入我的每个进程虚拟内存,而是使用系统共享内存。在发生故障时,系统报告物理内存中有超过100 MB的可用空间。尽管WinMobile有足够的物理内存,VirtualAlloc如何失败(无内存)?
我在Windows Mobile 6.1设备上运行。到目前为止,这是一个设备特定的问题。它适用于许多相同的设备,并在一台设备上出现故障。我希望能够确定此设备上的其他进程是否保留共享内存,从而阻止我这样做。不知道我该怎么做,但。
这是DOC我靠,我看没有什么会解释这个问题: http://msdn.microsoft.com/en-us/library/aa908768.aspx
任何想法?谢谢。
传递给VirtualAlloc的* all *参数的值是多少? – vladr 2010-03-10 21:58:05
pHeap =(unsigned char *)VirtualAlloc(0,1024 * 1024 * 2,MEM_RESERVE,PAGE_NOACCESS); – glutz78 2010-03-10 22:11:05