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 | LastX 和 LastY 相对于上一个位置进行设置。 |
MOUSE_MOVE_ABSOLUTE | LastX 和 LastY 值设置为绝对值。 |
MOUSE_VIRTUAL_DESKTOP | 鼠标坐标映射到虚拟桌面。 |
MOUSE_ATTRIBUTES_CHANGED | 鼠标属性已更改。 不使用结构中的其他数据。 |
MOUSE_MOVE_NOCOALESCE |
(Windows Vista 及更高版本) WM_MOUSEMOVE 通知消息不会合并。 默认情况下,这些消息是合并的。
有关WM_MOUSEMOVE通知消息的详细信息,请参阅 Microsoft 软件开发工具包 (SDK) 文档 |
Buttons
指定 ButtonFlags 和 ButtonData 值。 Mouclass 在其中断服务例程中使用 Buttons 对 ButtonFlags 和 ButtonData 执行快速单内存访问。
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) |