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.
V86MMGR_Map_Pages
                                                     Up Next Previous
────────────────────────────────────────────────────────────────────────────
 
include v86mmgr.inc
 
VxDcall V86MMGR_Map_Pages
 
The V86MMGR_Map_Pages service maps the specified buffer into every virtual
machine at the same address using page mapping. If the contents of memory
are changed in one virtual machine the change will be reflected in the
original buffer as well in all other virtual machines.
 
If the address specified in ESI is zero, no memory is mapped, but a global
linear address range is allocated. It is then up to the caller to map
appropriate pages into virtual machines. Use the linear address returned in
EDI for the base page to map memory into.
 
Parameter  Description
────────────────────────────────────────────────────────────────────────────
 
ESI        Points to the linear address to map. If this parameter is zero,
           the service reserves the map region without mapping memory.
 
ECX        Specifies the number of bytes to map.
 
Return Value
 
If the carry flag is clear, the memory is mapped. The ESI register contains
the map handle (used to free the map region), and the EDI register contains
the linear address of map buffer. It is less than 1 megabyte.
 
If the carry flag is set, the service could not map the memory.
 
Uses
 
ESI, EDI, Flags
 
                                      ♦