Mouse_Instance


include VMD.INC

Mouse_Instance  STRUC
MI_Flags       DW 0  ; see below
MI_IO_Base     DW 0  ; base to read
MI_IRQNumber   DB 0  ; number of the IRQ
MI_PortNum     DB 0  ; port number (serial mice)
MI_MouseType   DW 0  ; type of mouse (defined above)
MI_Reference   DD 0  ; reference data
MI_hDevNode    DD 0  ; handle of the device node
MI_hIRQ        DD 0  ; handle of the IRQ used by VPICD
MI_HWINT       DD 0  ; hardware interrupt procedure
MI_Reset       DD 0  ; reset routine
MI_Disable     DD 0  ; see below
MI_Initialize  DD 0  ; see below
MI_LoadHandle  DD 0  ; load handle of loaded VxD.
Mouse_Instance  ENDS

Describes a mouse device. When loading a mouse minidriver, VMOUSE passes the address of this structure to the control procedure of a minidriver. If the minidriver detects the mouse device, it sets the appropriate flags in the MI_Flags field, and then fills the appropriate fields of the structure. This structure is also passed to the VMD_Post_Pointer_Message and VMD_Manipulate_Pointer_Message services.

MI_Flags

Status flags. Can be a combination of these values:

Value

Meaning

MIF_Alloc

Instance is allocated

MIF_Active

Interrupt is active

MIF_Detected

Device detected

MIF_BadDevNode

Device not detected

MIF_NewConfig

No DevNode for device

MIF_BadIO

Wrong IO in DevNode

MIF_BadIRQ

Wrong IRQ in DevNode

MIF_NoIRQ

Do not virtualize IRQ

MIF_BUSMOUSE

BUSMOUSE

MIF_INPMOUSE

INPORT

MIF_AUXMOUSE

AUX (PS/2) mouse

MIF_OTHERMOUSE

3rd party mouse


MI_Disable

Address of a function in the mouse minidriver that VMOUSE calls when the mouse is about to be disabled; for example, when the machine is put into a docking station. Set this field to zero if the minidriver has no disable function.

MI_Initialize

Address of the mouse minidriver's initialization function. The function detects and virtualizes the mouse hardware.

See also VMD_Manipulate_Pointer_Message, VMD_Post_Pointer_Message