KernVMLock: Difference between revisions
Appearance
No edit summary |
No edit summary |
||
Line 5: | Line 5: | ||
==Parameters== | ==Parameters== | ||
;flags:One or more of the following bits: | ;''flags'' ([[ULONG]]) - input:One or more of the following bits: | ||
:KEE_VML_NOTBLOCK - Don't block the call, if the pages can't be locked. | :KEE_VML_NOTBLOCK - Don't block the call, if the pages can't be locked. | ||
:KEE_VML_CONTIG - Pages locked must be contiguous. | :KEE_VML_CONTIG - Pages locked must be contiguous. | ||
Line 12: | Line 12: | ||
:KEE_VML_LONGLOCK - The lock is for long time. | :KEE_VML_LONGLOCK - The lock is for long time. | ||
:KEE_VML_VERIFYONLY - Verify the accessibility of the region. If KEE_VML_WRITEABLE is set, check for R/W access, else R/O. | :KEE_VML_VERIFYONLY - Verify the accessibility of the region. If KEE_VML_WRITEABLE is set, check for R/W access, else R/O. | ||
;linaddr:linear address of the memory region. | ;''linaddr'' ([[PVOID]]) - input:linear address of the memory region. | ||
;size:Size of the memory region. | ;''size'' ([[ULONG]]) - input:Size of the memory region. | ||
;lock:Pointer to a lock data structure that contains the lock information. | ;''lock'' (KEEVMLOCK*) - input:Pointer to a lock data structure that contains the lock information. | ||
;pglist:Pointer to a pagelist structure, provided by the user | ;''pglist'' (KEEVMPageList*) - input:Pointer to a pagelist structure, provided by the user | ||
;pgsize:Pointer to an ULONG where the size of the pagelist structure is returned. | ;''pgsize'' ([[PULONG]]) - input:Pointer to an ULONG where the size of the pagelist structure is returned. | ||
[[Category:KEE]] | [[Category:KEE]] |
Latest revision as of 03:54, 28 May 2025
This is the equivalent of the DevHlp_VMLock function. See the PDD docs for details.
Synopsis
APIRET APIENTRY KernVMLock(ULONG flags,PVOID linaddr,ULONG size, KEEVMLOCK* lock, KEEVMPageList* pglist, PULONG pgsize);
Parameters
- flags (ULONG) - input
- One or more of the following bits:
- KEE_VML_NOTBLOCK - Don't block the call, if the pages can't be locked.
- KEE_VML_CONTIG - Pages locked must be contiguous.
- KEE_VML_16M - Pages must be below 16MB.
- KEE_VML_WRITEABLE - Pages will be writeable.
- KEE_VML_LONGLOCK - The lock is for long time.
- KEE_VML_VERIFYONLY - Verify the accessibility of the region. If KEE_VML_WRITEABLE is set, check for R/W access, else R/O.
- linaddr (PVOID) - input
- linear address of the memory region.
- size (ULONG) - input
- Size of the memory region.
- lock (KEEVMLOCK*) - input
- Pointer to a lock data structure that contains the lock information.
- pglist (KEEVMPageList*) - input
- Pointer to a pagelist structure, provided by the user
- pgsize (PULONG) - input
- Pointer to an ULONG where the size of the pagelist structure is returned.