"Vitaliy Margolen" wine-devel@kievinfo.com wrote:
According to MSDN:
"To reserve and commit pages in one step, call VirtualAlloc with MEM_COMMIT | MEM_RESERVED. The function fails if you attempt to commit a page that has not been reserved. The resulting error code is ERROR_INVALID_ADDRESS."
You are right. My main objection was that NtAllocateVirtualMemory rounds passed in base address to a 64k boundary in the MEM_RESERVED case and to page boundary for MEM_COMMIT one, but since (almost) all the cases in my patch use NULL as a requested base address that doesn't really matter.