3 #define _HIDPI_NO_FUNCTION_MACROS_
18 // lower device object
20 PDEVICE_OBJECT NextDeviceObject
;
23 // irp which is used for reading input reports
30 KEVENT ReadCompletionEvent
;
33 // device object for class callback
35 PDEVICE_OBJECT ClassDeviceObject
;
45 USHORT MouseIdentifier
;
50 USHORT WheelUsagePage
;
53 // buffer for the four usage lists below
55 PVOID UsageListBuffer
;
60 USHORT UsageListLength
;
63 // current usage list length
65 PUSAGE CurrentUsageList
;
68 // previous usage list
70 PUSAGE PreviousUsageList
;
73 // removed usage item list
75 PUSAGE BreakUsageList
;
78 // new item usage list
88 // mdl for reading input report
93 // input report buffer
98 // input report length
103 // file object the device is reading reports from
105 PFILE_OBJECT FileObject
;
108 // report read is active
110 UCHAR ReadReportActive
;
115 UCHAR StopReadReport
;
125 HIDP_VALUE_CAPS ValueCapsX
;
128 // value caps y button
130 HIDP_VALUE_CAPS ValueCapsY
;
132 } MOUHID_DEVICE_EXTENSION
, *PMOUHID_DEVICE_EXTENSION
;
134 #define WHEEL_DELTA 120
135 #define VIRTUAL_SCREEN_SIZE_X (65536)
136 #define VIRTUAL_SCREEN_SIZE_Y (65536)
140 IN PMOUHID_DEVICE_EXTENSION DeviceExtension
);
142 #define MOUHID_TAG 'diHM'