OSDN Git Service

enable command notify on x64
[yamy/yamy.git] / driver.h
1 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r
2 // driver.h\r
3 \r
4 \r
5 #ifndef _DRIVER_H\r
6 #  define _DRIVER_H\r
7 \r
8 #  include <winioctl.h>\r
9 \r
10 \r
11 /// mayu device file name\r
12 #    define MAYU_DEVICE_FILE_NAME _T("\\\\.\\MayuDetour1")\r
13 ///\r
14 #    define MAYU_DRIVER_NAME _T("mayud")\r
15 \r
16 /// Ioctl value\r
17 #include "d/ioctl.h"\r
18 \r
19 \r
20 /// derived from w2kddk/inc/ntddkbd.h\r
21 class KEYBOARD_INPUT_DATA\r
22 {\r
23 public:\r
24         ///\r
25         enum {\r
26                 /// key release flag\r
27                 BREAK = 1,\r
28                 /// extended key flag\r
29                 E0 = 2,\r
30                 /// extended key flag\r
31                 E1 = 4,\r
32                 /// extended key flag (E0 | E1)\r
33                 E0E1 = 6,\r
34                 ///\r
35                 TERMSRV_SET_LED = 8,\r
36                 /// Define the keyboard overrun MakeCode.\r
37                 KEYBOARD_OVERRUN_MAKE_CODE_ = 0xFF,\r
38         };\r
39 \r
40 public:\r
41         /** Unit number.  E.g., for \Device\KeyboardPort0 the unit is '0', for\r
42             \Device\KeyboardPort1 the unit is '1', and so on. */\r
43         USHORT UnitId;\r
44 \r
45         /** The "make" scan code (key depression). */\r
46         USHORT MakeCode;\r
47 \r
48         /** The flags field indicates a "break" (key release) and other miscellaneous\r
49             scan code information defined above. */\r
50         USHORT Flags;\r
51 \r
52         ///\r
53         USHORT Reserved;\r
54 \r
55         /** Device-specific additional information for the event. */\r
56         ULONG ExtraInformation;\r
57 };\r
58 \r
59 \r
60 #endif // !_DRIVER_H\r