Get_Next_Arena

include vmm.inc

mov     ecx, 0              ; must be zero
VMMCall Get_Next_Arena

mov     [Data], eax         ; data value
mov     [Flags], ecx        ; high MS-DOS memory flags
mov     [Memory], edx       ; points to array of Common_Memory_struc
 

Returns a pointer to an MS-DOS data structure. Uses EAX, ECX, EDX, Flags.

Virtual devices must not use this service; it is intended for exclusive use by the virtual MS-DOS manager.

Register Description
EAX Contains a data value.
ECX Contains the high MS-DOS flags. For more information, see below.
EDX Contains the address of an array of Common_Memory_struc structures. For more information, see below.

The high MS-DOS flags, returned in the ECX register, can be zero or more of these values:

Value Meaning
GNA_HiDOSLinked Set if high MS-DOS arenas were linked in when Windows was started.
GNA_IsHighDOS Set if high MS-DOS arenas exist.

The EDX register contains the address of an array of Common_Memory_Struc structures, each specifying the address and size of a high MS-DOS memory segment. The last element in the array contains zero. The structure has the following form:

Common_Memory_struc struc
  CM_seg    dw  ?   ; segment address of start
  CM_size   dw  ?   ; size in paragraphs
Common_Memory_struc ends