blob: a188d508f37a3db2bb77c304f1cb8780062ecd14 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
#ifndef _MONITOR_
#define _MONITOR_
#define MONITOR_DEFAULT 0x0000
#define MONITOR_BEGIN 0x0001
#define MONITOR_END 0x0002
#define MONITOR_SPECIEL_DEFAULT 0x0003
#define MONITOR_SPECIEL_BEGIN 0x0004
#define MONITOR_SPECIEL_END 0x0005
#define MIN_KBD_MON_BUFFER 64
#pragma pack(1)
typedef struct _MONIN /* mnin */
{
USHORT cb;
BYTE abReserved[18];
BYTE abBuffer[108];
} MONIN, *PMONIN;
typedef struct _MONOUT /* mnout */
{
USHORT cb;
UCHAR buffer[18];
BYTE abBuf[108];
} MONOUT, *PMONOUT;
typedef struct _KBD_MON_PACKAGE
{
UCHAR MonitorFlag;
UCHAR DeviceFlag;
KBDKEYINFO KeyInfo;
USHORT KeyboardFlag;
} KBD_MON_PACKAGE, *PKBD_MON_PACKAGE;
typedef struct _MOU_MON_PACKAGE
{
UCHAR MonitorFlag;
UCHAR DeviceFlag;
MOUEVENTINFO MouInfo;
} MOU_MON_PACKAGE, *PMOU_MON_PACKAGE;
#pragma pack()
#define MON_REGISTERMONITOR 0x0040
/*
* Monitor Flag
*/
#define MONITOR_OPEN_PACKAGE 1
#define MONITOR_CLOSE_PACKAGE 2
#define MONITOR_FLUSH_PACKAGE 4
/*
* KeyboardFlag
*/
#define KBD_ACCENT_INDICATOR 0x0200 // 0000 0010 0000 0000
#define KBD_MULTIMAKE 0x0100 // 0000 0001 0000 0000
#define KBD_SCAN_CODE 0x0080 // 0000 0000 1000 0000
#define KBD_KEY_BREAK 0x0040 // 0000 0000 0100 0000
#define KBD_ZERO_USER 0xFC3F // 1111 1100 0011 1111
#endif // _MONITOR_
|