KernVMAlloc

This is the equivalent of the DevHlp_VMAlloc function.

Synopsis
APIRET APIENTRY KernVMAlloc(ULONG size, ULONG flags, PVOID* linaddr, PVOID* physaddr, PSHORT sel);

Parameters
KEE_VMA_16MB      allocate memory from below 16MB KEE_VMA_FIXED     allocate memory that won't be swapped out KEE_VMA_SWAP      allocate memory that is swappable KEE_VMA_CONTIG    allocate contiguous physical memory pages KEE_VMA_PHYS      allocate physical memory (pass address in physaddr argument) KEE_VMA_PROCESS   allocate memory in the process address space. KEE_VMA_SGSCONT   register memory under screen group control KEE_VMA_GETSEL    return a GDT selector for the allocated memory. This option exists also in DevHlp_VMAlloc (undocumented). KEE_VMA_RESERVE   Don't commit the allocated memory. KEE_VMA_SHARED    allocate memory that is shareable KEE_VMA_USEHIGHMEM allocate memory from above 16MB.
 * size:Number of bytes to allocate.
 * flags:One or more of the following flags. See DevHlp_VMAlloc docs for details.
 * linaddr:address of a variable to receive the linear address of the memory.
 * physaddr:address of a variable that contains the physical address of the memory.
 * sel:address of a variable to receive the allocated GDT selector, when KEE_VMA_GETSEL is set.