Lock Linear Region
Locks the specified linear address range.
Call With
AX = 0600H
BX:CX = starting linear address of memory to lock
SI:DI = size of region to lock (bytes)
Returns
if function successful
Carry flag = clear
if function unsuccessful
Carry flag = set
AX = error code
8013H | physical memory unavailable |
8017H | lock count exceeded |
8025H | invalid linear address (unallocated
pages) |
Notes
- If the function returns an error, none of the memory has been
locked.
- If the specified region overlaps part of a page at the beginning
or end of the region, the page(s) will be locked.
- This function may be called more than once for a given page; the
DPMI host maintains a lock count for each page.
- This function is ignored by DPMI implementations that do not
support virtual memory; the function will return the Carry flag clear
to indicate success, but has no other effect. DPMI hosts which
support virtual memory may also choose to ignore this function, but
such hosts must be able to handle page faults transparently at
arbitrary points during a client's execution, including within
interrupt and exception handlers.