_Get_Device_V86_Pages_Array

include vmm.inc

VMMCall _Get_Device_V86_Pages_Array, <VM, <OFFSET32 ArrayBuf>, flags>

or      eax, eax        ; nonzero if retrieved, zero if error
jz      not_retrieved
 

Gets a copy of the assignment array used by the _Assign_Device_V86_Pages and _DeAssign_Device_V86_Pages services. Virtual devices use the assignment array to determine which regions of the V86 address space are currently assigned, and which are available. Uses EAX, ECX, EDX, and Flags.

VM
Handle of the virtual machine for which to retrieve the assignment array. If this parameter is zero, the service retrieves the global assignment array.
ArrayBuf
Address of a 36-byte buffer that receives the assignment array.
flags
Operation flags. Must be 0.

The assignment array consists of 110h bits, each of which represents a single page in the V86 address space. A page is assigned if the corresponding bit is 1.

The global assignment array does not indicate which pages are available. A page is available for global assignment only if it is neither globally nor locally assigned. To determine whether a page is available for global assignment, a virtual device must check the global assignment array, and then check the assignment arrays for each virtual machine.

See Also

_Assign_Device_V86_Pages, _DeAssign_Device_V86_Pages