#include <vmm.h>
ULONG EXTERNAL _PageReserve(ULONG page, ULONG npages, ULONG flags);
Reserves a range of linear addresses in the current context without allocating any physical storage.
PR_PRIVATE | Anywhere in current ring 3 private arena. |
PR_SHARED | Anywhere in the ring 3 shared arena. |
PR_SYSTEM | Anywhere in the system arena. |
If an explicit page is specified, the memory manager attempts to allocate that linear page address. If the linear address is already in use, the service fails.
PR_FIXED | Prevents _PageReAllocate from moving the pages. |
PR_STATIC | Disallows commit, decommit and free operations unless a static flag is specified. |
PR_4MEG | Forces the reserved address to be aligned on a four-megabyte boundary. This flag is ignored if the page parameter specifies a specific address. |
Before touching any linear page reserved by this service, you must commit physical storage to the page using the _PageCommit, _PageCommitContig, or _PageCommitPhys service.
_PageCommit, _PageCommitContig, _PageCommitPhys