다음을 통해 공유


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인 디바이스의 단위 수는 0이고 이름이 \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는 인터럽트 서비스 루틴에서 Buttons 를 사용하여 ButtonFlagsButtonData에 대한 빠른 단일 메모리 액세스를 수행합니다.

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는 내부 데이터 큐에서 Microsoft Win32 하위 시스템 버퍼로 0개 이상의 MOUSE_INPUT_DATA 구조를 전송합니다.

요구 사항

요구 사항
헤더 ntddmou.h(Ntddmou.h 포함)

추가 정보

IRP_MJ_READ(무클래스)

MouseClassServiceCallback