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, that 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.
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.
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.
EDI, ESI, Flags