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.
_PageCheckLinRange
                                                     Up Next Previous
────────────────────────────────────────────────────────────────────────────
 
include vmm.inc
 
VMMcall _PageCheckLinRange, <HLinPgNum, nPages, flags>
 
cmp     eax, 0              ; zero if not valid
je      not_valid
mov     [Pages], eax        ; actual number of pages in valid range
 
The _PageCheckLinRange service determines whether all bytes in the specified
range of linear addresses are valid. Virtual devices typically use this
service to validate an address range before specifying the range in a call
to the _LinPageLock or _LinMapIntoV86 service.
 
Parameter  Description
────────────────────────────────────────────────────────────────────────────
 
HLinPgNum  Specifies the linear page number of the first page to check. A
           linear page number is a ring-0 linear address shifted right by 12
           bits.
 
nPages     Specifies the number of pages to check.
 
flags      Specifies the operation flags. This parameter must be zero.
 
Return Value
 
The EAX register contains the actual number of pages which contain valid
addresses. This value is zero if the entire range is invalid.
 
Uses
 
EAX
 
See Also
 
_LinMapIntoV86, _LinPageLock