include vmm.inc
mov ebx, VM ; VM handle or 0 if Create_VM error
mov ecx, GetSet ; zero if get, nonzero zero if set
mov eax, Error ; error code if ecx nonzero
mov edx, RefData ; reference data if ecx is nonzero
VMMCall GetSetDetailedVMError
jz no_error_info ; zero set if no error information
mov [Error], eax ; error code
mov [RefData], edx ; reference data for the error code
Sets detailed error code for a virtual machine crash or start-up error. This service is only available for Windows version 3.1 or later. Uses EAX, EDX, Flags.
Value | Meaning |
---|---|
GSDVME_CrtNoMsg | Problem creating the VM. The system will not display any error message; it is the responsibility of the virtual device to use the SHELL_Message service to display a custom error message. |
GSDVME_DevNuke | Device-specific problem. |
GSDVME_DevNukeHdwr | Device-specific problem caused by software running in the virtual machine. |
GSDVME_InsMemEMS | Available EMS memory is less than requested; set by the virtual V86 mode memory manager. |
GSDVME_InsMemV86 | Insufficient V86 memory; set by the virtual V86 mode memory manager. |
GSDVME_InsMemV86Hi | Insufficient high MS-DOS memory; set by the virtual MS-DOS manager. |
GSDVME_InsMemVid | Insufficient base video memory; set by the virtual display device. |
GSDVME_InsMemVM | Insufficient base virtual machine memory for control block or instance buffer. |
GSDVME_InsMemXMS | Available XMS memory is less than requested; set by the virtual V86 mode memory manager. |
GSDVME_InsV86Space | Available V86 address space is less than requested; set by the virtual V86 mode memory manager. |
GSDVME_InvalFlt | Invalid fault. |
GSDVME_InvalGpFlt | Invalid GP fault. |
GSDVME_InvalInst | Attempt to execute an invalid instruction. |
GSDVME_InvalPgFlt | Invalid page fault. |
GSDVME_InsMemDev | Could not allocate base virtual machine memory for device. |
GSDVME_NukeNoMsg | Fatal problem forcing the VM to be destroyed. The system will not display any error message; it is the responsibility of the virtual device to use the SHELL_Message service to display a custom error message. |
GSDVME_OkNukeMask | Reserved for the exclusive use of the virtual MS-DOS manager. |
GSDVME_PrivInst | Attempt to execute a privileged instruction. |
GSDVME_UserNuke | User requested running virtual machine be terminated. |
Error values that have the high word set to 2 are intended to be used when a virtual machine fails on start up.
This parameter is ignored if the GetSet parameter is zero. This parameter is zero if there is no associated reference data.