V86MMGR_Map_Pages

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.

Parameters

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

EDI, ESI, Flags