_LinPageUnLock


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