_LinPageLock

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.

Parameters

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.

Return Value

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.

See Also

_LinMapIntoV86, _LinPageUnLock, _PageLock