KernVMAlloc: Difference between revisions
Appearance
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..." |
No edit summary |
||
(7 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
[[Category:Undocumented]] | |||
This is the equivalent of the '''[[DevHelp_VMAlloc|DevHlp_VMAlloc]]''' function. | |||
==Synopsis== | ==Synopsis== | ||
KernVMAlloc(size, flags, linaddr, physaddr, sel); | |||
==Parameters== | ==Parameters== | ||
;''size'' ([[ULONG]]) - input: Number of bytes to allocate. | |||
;''flags'' ([[ULONG]]) - input: 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'' ([[PVOID]]) - input: address of a variable to receive the linear address of the memory. | |||
;''physaddr'' ([[PVOID]]) - input: address of a variable that contains the physical address of the memory. | |||
;''sel'' (P[[SHORT]]) - input: address of a variable to receive the allocated GDT selector, when KEE_VMA_GETSEL is set. | |||
[[Category:KEE]] | |||
[[Category: |
Latest revision as of 19:12, 19 May 2025
This is the equivalent of the DevHlp_VMAlloc function.
Synopsis
KernVMAlloc(size, flags, linaddr, physaddr, sel);
Parameters
- size (ULONG) - input
- Number of bytes to allocate.
- flags (ULONG) - input
- 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.