There is no point to specify both MEM_RESERVE and MEM_COMMITfor VirtualAlloc

Dmitry Timoshkov dmitry at baikal.ru
Mon Jan 2 10:08:29 CST 2006


"Vitaliy Margolen" <wine-devel at 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.

-- 
Dmitry.



More information about the wine-devel mailing list