8#define SERMOUSE_TAG 'uoMS'
28#define PACKET_BUFFER_SIZE 4
31#define LEFT_BUTTON_MASK 0x20
33#define LEFT_BUTTON_SHIFT 5
35#define RIGHT_BUTTON_MASK 0x10
37#define RIGHT_BUTTON_SHIFT 3
39#define MIDDLE_BUTTON_MASK 0x20
41#define MIDDLE_BUTTON_SHIFT 3
44#define MOUSE_BUTTON_LEFT 0x01
46#define MOUSE_BUTTON_RIGHT 0x02
48#define MOUSE_BUTTON_MIDDLE 0x04
DRIVER_DISPATCH ForwardIrpAndForget
DRIVER_DISPATCH(nfs41_FsdDispatch)
DRIVER_DISPATCH SermouseClose
DRIVER_DISPATCH SermouseCreate
DRIVER_DISPATCH SermouseInternalDeviceControl
struct _SERMOUSE_DRIVER_EXTENSION SERMOUSE_DRIVER_EXTENSION
DRIVER_DISPATCH SermouseCleanup
struct _SERMOUSE_DEVICE_EXTENSION * PSERMOUSE_DEVICE_EXTENSION
VOID NTAPI SermouseDeviceWorker(PVOID Context)
SERMOUSE_MOUSE_TYPE SermouseDetectLegacyDevice(IN PDEVICE_OBJECT LowerDevice)
#define PACKET_BUFFER_SIZE
DRIVER_DISPATCH SermousePnp
struct _SERMOUSE_DEVICE_EXTENSION SERMOUSE_DEVICE_EXTENSION
struct _SERMOUSE_DRIVER_EXTENSION * PSERMOUSE_DRIVER_EXTENSION
DRIVER_ADD_DEVICE SermouseAddDevice
PSERMOUSE_DRIVER_EXTENSION DriverExtension
KEVENT StopWorkerThreadEvent
SERMOUSE_MOUSE_TYPE MouseType
PDEVICE_OBJECT LowerDevice
ULONG PacketBufferPosition
MOUSE_ATTRIBUTES AttributesInformation
UCHAR PacketBuffer[PACKET_BUFFER_SIZE]
SERMOUSE_DEVICE_STATE PnpState
HANDLE WorkerThreadHandle
MOUSE_INPUT_DATA MouseInputData[2]
_In_ PDEVICE_OBJECT DeviceObject