include vmm.inc VMMcall _LinPageUnLock, <page, npages, flags> or eax, eax ; nonzero if successful, zero otherwise jz not_unlocked #include <vmm.h> ULONG EXTERNAL _LinPageUnLock(ULONG page, ULONG npages, ULONG flags);
Unlocks one or more pages starting at the specified linear page number. This service is similar to the _PageUnLock service. Uses EAX, ECX, EDX, and Flags.
page and npages
Linear page number of the first page to unlock, and the number of pages to unlock. All of the pages in the range must be committed. If freeing a global alias, these must describe the location and size of the alias and not the originally locked address.
flags
Zero or one of these values:
PAGELOCKEDIFDP | Unlock the pages only if the virtual pageswap device uses MS-DOS or BIOS functions to write pages to the hardware. |
PL_TOTALUNLOCK | Bring lock count to zero. This flag should only be used by the SetResetV86Pageable service. |
PAGEMAPGLOBAL | Deletes a linear mapping created by a previous call to the _LinPageLock service. If this flag is specified, the value of the page parameter must be the linear address that was returned by _LinPageLock. |
See also _LinPageLock, _PageUnLock, _SetResetV86Pageable