Поделиться через


структура 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 имеет номер единицы один.

Flags

Задает побитовое ИЛИ одного или нескольких следующих флагов индикатора мыши.

Значение Значение
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 уведомлениях см. в документации по пакету средств разработки программного обеспечения (SDK) Майкрософт.

Buttons

Задает значения ButtonFlags и ButtonData . Mouclass использует Кнопки в своей процедуре обслуживания прерываний для быстрого доступа к ButtonFlags и ButtonData из одной памяти.

ButtonFlags

Указывает состояние перехода кнопок мыши.

Flag Значение
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

Указывает данные колесика мыши, если MOUSE_WHEEL задано в ButtonFlags.

RawButtons

Задает необработанное состояние кнопок мыши. Подсистема Win32 не использует этот элемент.

LastX

Указывает относительное или абсолютное движение со знаком в направлении x.

LastY

Указывает относительное или абсолютное движение со знаком в направлении y.

ExtraInformation

Указывает сведения, относящиеся к устройству.

Комментарии

В ответ на запросы IRP_MJ_READ (Mouclass) Mouclass передает ноль или более MOUSE_INPUT_DATA структур из внутренней очереди данных в буфер подсистемы Microsoft Win32.

Требования

Требование Значение
Заголовок ntddmou.h (включая Ntddmou.h)

См. также раздел

IRP_MJ_READ (Mouclass)

MouseClassServiceCallback