Jump to content

KernVMAlloc: Difference between revisions

From EDM2
Created page with "==Synopsis== APIRET APIENTRY KernVMAlloc(ULONG size, ULONG flags, PVOID* linaddr, PVOID* physaddr, PSHORT sel); ==Description== This is the equivalent of the DevHlp_VMAlloc f..."
 
Ak120 (talk | contribs)
m Ak120 moved page OS2 API:KEE:KernVMAlloc to KernVMAlloc
(No difference)

Revision as of 00:40, 27 February 2017

Synopsis

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

Description

This is the equivalent of the DevHlp_VMAlloc function.

Parameters

size

   Number of bytes to allocate. 

flags

   One or more of the following flags. See DevHlp_VMAlloc docs for details.
   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. 

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.