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 | 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 值。 在中斷服務例程中使用 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 () 要求,) Class 會將零或多個 MOUSE_INPUT_DATA 結構從其內部數據佇列傳輸至 Microsoft Win32 子系統緩衝區。
規格需求
需求 | 值 |
---|---|
標頭 | ntddmou.h (包含 Ntddmou.h) |