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)

另请参阅

IRP_MJ_READ (Kbdclass)

KeyboardClassServiceCallback