VMD_Manipulate_Pointer_Message

include vmd.inc
 
mov     esi, DeltaX
mov     edi, DeltaY
mov     al, RawButtonStatus
mov     edx, OFFSET32 MouseInstance
VxDcall VMD_Manipulate_Pointer_Message
mov     ScaledRotatedX, esi
mov     ScaledRotatedY, edi
mov     MappedButtonStatus, al
 

Allows a virtual device to install a hook procedure that manipulates mouse pointer data. A virtual device that needs to manipulate pointer data should hook this service instead of the VMD_Post_Pointer_Message service. A virtual device uses the Hook_Device_Service VMM service to install the hook procedure. Uses all registers.

al Bit flags that specify the button status. A flag is set if the corresponding button is down. The meaning of the flags is as follows:

Bit Meaning
0, 1 Undefined
2 Status of button 4
3 Status of button 2
4 Status of button 3
5 Status of button 1
6 Undefined
7 Button-map flag. A hook procedure should set this flag if it maps the mouse buttons, otherwise it should clear it.

esi Scaled or rotated horizontal delta value.
edi Scaled or rotated vertical delta value.

DeltaX and DeltaY
Amount, in mickeys, of horizontal and vertical mouse movement.
ButtonStatus
Bit flags that specify the new status of the mouse buttons.
MouseInstance
Address of a MOUSE_INSTANCE structure that contains information describing the mouse device.

See also MOUSE_INSTANCE, VMD_Post_Pointer_Message