include vmm.inc VMMcall _LinPageLock, <HLinPgNum, nPages, flags> or eax, eax ; nonzero if locked, zero if error jz not_locked |
The _LinPageLock service unlocks one or more pages starting at the specified linear page number. This service is similar to the _PageLock service, but uses linear page numbers instead of memory handles.
HLinPgNum
Specifies the linear page number of the first page to lock. A linear page number is a ring-0 linear address shifted right by 12 bits.
nPages
Specifies the number of pages to lock.
flags
Specifies the operation flags. This parameter can be the following value:
Value | Meaning |
PageLockedIfDP | Locks pages only if the virtual page swap device use MS-DOS or BIOS functions to write pages to the hardware. If the virtual page swap device writes directly to hardware, this service returns immediately without locking the pages. |
All other values are reserved.
The EAX register contains a nonzero value if the lock is successful. Otherwise, EAX contains zero to indicate an error such as an invalid address range or insufficient memory for locking.