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