共用方式為


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

指定下列一或多個滑鼠指標旗標的位 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 值。 在中斷服務例程中使用 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 () 要求,) Class 會將零或多個 MOUSE_INPUT_DATA 結構從其內部數據佇列傳輸至 Microsoft Win32 子系統緩衝區。

規格需求

需求
標頭 ntddmou.h (包含 Ntddmou.h)

另請參閱

IRP_MJ_READ ()

MouseClassServiceCallback