Virtual Devices (3.1) (vdag31qh.hlp) (Table of Contents; Topic list)
Important Notice
The pages on this site contain documentation for very old MS-DOS software, purely for historical purposes. If you're looking for up-to-date documentation, particularly for programming, you should not rely on the information found here, as it will be woefully out of date.
_LinPageUnLock
                                                     Up Next Previous
────────────────────────────────────────────────────────────────────────────
 
include vmm.inc
 
VMMcall _LinPageUnLock, <HLinPgNum, nPages, flags>
 
or      eax, eax                ; nonzero if unlocked, zero if error
jz      not_unlocked
 
The _LinPageUnLock service unlocks one or more pages starting at the
specified linear page number. This service is similar to the _PageUnLock
service, but uses linear page numbers instead of memory handles.
 
Parameter  Description
────────────────────────────────────────────────────────────────────────────
 
HLinPgNum  Specifies the linear page number of the first page to unlock. A
           linear page number is a ring-0 linear address shifted right by 12
           bits.
 
nPages     Specifies the number of pages to unlock.
 
flags      Specifies the operation flags. This parameter can be a
           combination of the following values:
 
           Value            Meaning
           ─────────────────────────────────────────────────────────────────
           PageLockedIfDP   Unlocks pages only if the virtual pageswap
                            device use MS-DOS or BIOS functions to write to
                            the hardware. If the virtual pageswap device
                            writes directly to the hardware, this service
                            returns immediately without unlocking the
                            pages.
 
           PageMarkPageOut  Marks pages for immediate swapping if this
                            service sets the lock count for the pages to
                            zero. This service marks the pages by clearing
                            the P_ACC bit for each page. The PageMarkPageOut
                            value should only be used if the pages are
                            unlikely to be accessed for some time.
 
           All other values are reserved.
 
Return Value
 
The EAX register contains a nonzero value if the unlock is successful.
Otherwise, EAX contains zero to indicate an error, such as an invalid
address range.
 
Uses
 
EAX
 
See Also
 
_LinMapIntoV86, _LinPageLock, _PageUnLock