KEYBOARD_INPUT_DATA 结构 (ntddkbd.h)
KEYBOARD_INPUT_DATA包含一个键盘输入数据包。
语法
typedef struct _KEYBOARD_INPUT_DATA {
USHORT UnitId;
USHORT MakeCode;
USHORT Flags;
USHORT Reserved;
ULONG ExtraInformation;
} KEYBOARD_INPUT_DATA, *PKEYBOARD_INPUT_DATA;
成员
UnitId
指定键盘设备的单位号。 键盘设备名称的格式为 \Device\KeyboardPortN,其中后缀 N 是设备的单位号。 例如,名称为 \Device\KeyboardPort0 的设备具有零的单位号,而名称为 \Device\KeyboardPort1 的设备单位号为 1。
MakeCode
指定与按键关联的扫描代码。
Flags
指定以下一个或多个标志的按位 OR,这些标志指示是按下还是释放了某个键以及其他其他信息。
值 | 含义 |
---|---|
KEY_MAKE | 已按下该键。 |
KEY_BREAK | 密钥已释放。 |
KEY_E0 | 用于指示特殊键盘功能的扩展扫描代码。 |
KEY_E1 | 用于指示特殊键盘功能的扩展扫描代码。 |
Reserved
保留给操作系统使用。
ExtraInformation
指定与键盘事件关联的特定于设备的信息。
注解
为了响应 IRP_MJ_READ (Kbdclass) 请求,Kbdclass 将零个或多个 KEYBOARD_INPUT_DATA 结构从其内部数据队列传输到 Win32 子系统缓冲区。
要求
要求 | 值 |
---|---|
Header | ntddkbd.h (包括 Ntddkbd.h) |