MOUSE_INPUT_DATA 结构 (ntddmou.h)

MOUSE_INPUT_DATA包含一个鼠标输入数据包。

语法

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;

成员

UnitId

指定鼠标设备的单位号。 鼠标 设备名称 的格式为 \Device\PointerPortN,其中后缀 N 是设备的单位号。 例如,名称为 \Device\PointerPort0 的设备具有零的单位号,而名为 \Device\PointerPort1 的设备具有单位号为 1 的设备。

Flags

指定以下一个或多个鼠标指示器标志的按位 OR。

含义
MOUSE_MOVE_RELATIVE LastXLastY 相对于上一个位置进行设置。
MOUSE_MOVE_ABSOLUTE LastXLastY 值设置为绝对值。
MOUSE_VIRTUAL_DESKTOP 鼠标坐标映射到虚拟桌面。
MOUSE_ATTRIBUTES_CHANGED 鼠标属性已更改。 不使用结构中的其他数据。
MOUSE_MOVE_NOCOALESCE (Windows Vista 及更高版本) WM_MOUSEMOVE 通知消息不会合并。 默认情况下,这些消息是合并的。

有关WM_MOUSEMOVE通知消息的详细信息,请参阅 Microsoft 软件开发工具包 (SDK) 文档

Buttons

指定 ButtonFlagsButtonData 值。 Mouclass 在其中断服务例程中使用 ButtonsButtonFlagsButtonData 执行快速单内存访问。

ButtonFlags

指定鼠标按钮的转换状态。

标志 含义
MOUSE_LEFT_BUTTON_DOWN 鼠标左键更改为向下键。
MOUSE_LEFT_BUTTON_UP 鼠标左键更改为向上键。
MOUSE_RIGHT_BUTTON_DOWN 鼠标右键更改为向下键。
MOUSE_RIGHT_BUTTON_UP 鼠标右键已更改为向上。
MOUSE_MIDDLE_BUTTON_DOWN 鼠标中键更改为向下键。
MOUSE_MIDDLE_BUTTON_UP 鼠标中键已更改为向上。
MOUSE_BUTTON_4_DOWN 第四个鼠标按钮更改为向下键。
MOUSE_BUTTON_4_UP 第四个鼠标按钮更改为向上。
MOUSE_BUTTON_5_DOWN 第五个鼠标按钮更改为“向下”。
MOUSE_BUTTON_5_UP 第五个鼠标按钮更改为向上。
MOUSE_WHEEL 存在鼠标滚轮数据。
MOUSE_HWHEEL 存在鼠标水平滚轮数据。

ButtonData

如果在 ButtonFlags 中设置了MOUSE_WHEEL,则指定鼠标滚轮数据。

RawButtons

指定鼠标按钮的原始状态。 Win32 子系统不使用此成员。

LastX

指定 x 方向的有符号相对运动或绝对运动。

LastY

指定 y 方向的有符号相对运动或绝对运动。

ExtraInformation

指定特定于设备的信息。

注解

为了响应 IRP_MJ_READ (Mouclass) 请求,Mouclass 将零个或多个 MOUSE_INPUT_DATA 结构从其内部数据队列传输到 Microsoft Win32 子系统缓冲区。

要求

要求
Header ntddmou.h (包括 Ntddmou.h)

另请参阅

IRP_MJ_READ (穆类)

MouseClassServiceCallback