1
由于某些原因,在运行某些硬盘配置(RAID,随机分区,通过单独的IDE控制器,而不是操作系统分区)时,我的应用程序返回null
与GetLastError
代码ERROR_INVALID_PARAMETER
。VirtualAlloc在hdd的某些配置上失败
除了标志(MEM_COMMIT | MEM_TOP_DOWN, PAGE_READWRITE)
传入的唯一参数是根据从磁盘几何获得的扇区大小的倍数计算的大小(不幸的是,由于NDA等原因,我无法发布代码)。
想知道有没有人有这方面的经验?或者如果有人知道为什么Windows可能会在不同的磁盘上对页面大小进行不同的处理,那么任何帮助都非常感谢!
当您试图提交一个已经保留的块时,您是否在检查保留该块时是否将地址舍入为分配粒度的倍数?在计算所需的大小时,是否有任何保护措施来防止请求异常大的内存? – 2009-06-30 10:53:33