cb_s


include vmm.inc

cb_s    struc
CB_VM_Status        dd   ?  ; VM status; see below
CB_High_Linear      dd   ?  ; base linear address; see below
CB_Client_Pointer   dd   ?  ; see below
CB_VMID             dd   ?  ; virtual machine ID
CB_Signature        dd   ?  ; see below
cb_s    ends

Virtual machine control block. Contains information about and the status of a virtual machine. The handle of a virtual machine is also the address of its corresponding cb_s structure. All fields in this structure are read-only.

CB_VM_Status

Value specifying the status of the virtual machine. Can be zero or more of these values:

Value

Meaning

VMStat_Awakening

Virtual machine is waking up after being blocked on a semaphore.

VMStat_Background

Virtual machine runs in the background.

VMStat_Blocked

Virtual machine is blocked on a semaphore.

VMStat_Closing

Virtual machine has received a Close_VM message.

VMStat_Creating

Virtual machine is being created.

VMStat_Exclusive

Virtual machine is in exclusive mode.

VMStat_High_Pri_Back

Virtual machine has high priority background execution.

VMStat_Idle

Virtual machine has released its time slice.

VMStat_Not_Executable

Virtual machine is partially destroyed.

VMStat_PageableV86

Virtual machine has pageable V86 memory (protected-mode application). The default behavior for one or more pages in V86 memory has been modified and the _GetV86PageableArray service returns at least one nonzero bit in the array.

VMStat_PM_App

Virtual machine contains a protected-mode application.

VMStat_PM_Exec

Virtual machine execution currently in a protected-mode application.

VMStat_PM_Use32

Virtual machine contains a 32-bit protected-mode application.

VMStat_Suspended

Virtual machine is not scheduled.

VMStat_TS_Sched

Virtual machine is scheduled by the time slicer.

VMStat_V86IntsLocked

Virtual machine locks any V86 memory that cannot be paged. Locking regardless of the pager type has been enabled for the virtual machine.

VMStat_VxD_Exec

Virtual machine has received a call from a virtual device.


CB_High_Linear

Base address of the virtual machine's memory in the ring-0 linear address space. Virtual devices can access memory in a virtual machine by adding the appropriate V86-mode linear address to this value.

CB_Client_Pointer

Address of a Client_Reg_Struc structure containing the register values for the virtual machine.

CB_VMID

Virtual machine identifier.

CB_Signature

Value VMCB_ID.

See also Close_VM, Client_Reg_Struc