MOUSE_INPUT_DATA structure

MOUSE_INPUT_DATA contains one packet of mouse input data.

Syntax

typedef struct _MOUSE_INPUT_DATA {
  USHORT UnitId;
  USHORT Flags;
  union {
    ULONG Buttons;
    struct {
      USHORT ButtonFlags;
      USHORT ButtonData;
    };
  };
  ULONG  RawButtons;
  LONG   LastX;
  LONG   LastY;
  ULONG  ExtraInformation;
} MOUSE_INPUT_DATA, *PMOUSE_INPUT_DATA;

Members

UnitId

Specifies the unit number of the mouse device. A mouse device name has the format \Device\PointerPortN, where the suffix N is the unit number of the device. For example, a device, whose name is \Device\PointerPort0, has a unit number of zero, and a device, whose name is \Device\PointerPort1, has a unit number of one.

Flags

Specifies a bitwise OR of one or more of the following mouse indicator flags.

Value Meaning
MOUSE_MOVE_RELATIVE The LastX and LastY are set relative to the previous location.
MOUSE_MOVE_ABSOLUTE The LastX and LastY values are set to absolute values.
MOUSE_VIRTUAL_DESKTOP The mouse coordinates are mapped to the virtual desktop.
MOUSE_ATTRIBUTES_CHANGED The mouse attributes have changed. The other data in the structure is not used.
MOUSE_MOVE_NOCOALESCE (Windows Vista and later) WM_MOUSEMOVE notification messages will not be coalesced. By default, these messages are coalesced.

For more information about WM_MOUSEMOVE notification messages, see the Microsoft Software Development Kit (SDK) documentation

__unnamed_union_0046_1

__unnamed_union_0046_1.Buttons

__unnamed_union_0046_1.__unnamed_struct_0

__unnamed_union_0046_1.__unnamed_struct_0.ButtonFlags

__unnamed_union_0046_1.__unnamed_struct_0.ButtonData

RawButtons

Specifies the raw state of the mouse buttons. The Win32 subsystem does not use this member.

LastX

Specifies the signed relative or absolute motion in the x direction.

LastY

Specifies the signed relative or absolute motion in the y direction.

ExtraInformation

Specifies device-specific information.

Remarks

In response to IRP_MJ_READ (Mouclass) requests, Mouclass transfers zero or more MOUSE_INPUT_DATA structures from its internal data queue to the Microsoft Win32 subsystem buffer.

Requirements

   
Header ntddmou.h (include Ntddmou.h)

See Also

IRP_MJ_READ (Mouclass)

MouseClassServiceCallback