1 // Mouse definitions common to both mouse class and port drivers
3 #define IO_MOUSE_INCREMENT 6
4 #define MOUSE_BUFFER_SIZE 32
6 #define IOCTL_INTERNAL_MOUSE_CONNECT CTL_CODE(FILE_DEVICE_MOUSE, 0x0080, METHOD_NEITHER, FILE_ANY_ACCESS)
7 #define IOCTL_INTERNAL_MOUSE_DISCONNECT CTL_CODE(FILE_DEVICE_MOUSE, 0x0100, METHOD_NEITHER, FILE_ANY_ACCESS)
8 #define IOCTL_INTERNAL_MOUSE_ENABLE CTL_CODE(FILE_DEVICE_MOUSE, 0x0200, METHOD_NEITHER, FILE_ANY_ACCESS)
9 #define IOCTL_INTERNAL_MOUSE_DISABLE CTL_CODE(FILE_DEVICE_MOUSE, 0x0400, METHOD_NEITHER, FILE_ANY_ACCESS)
11 typedef struct _MOUSE_INPUT_DATA {
24 ULONG ExtraInformation;
25 } MOUSE_INPUT_DATA, *PMOUSE_INPUT_DATA;
27 typedef struct _CLASS_INFORMATION {
28 PDEVICE_OBJECT DeviceObject;
30 } CLASS_INFORMATION, *PCLASS_INFORMATION;
32 typedef struct _GDI_INFORMATION {
34 } GDI_INFORMATION, *PGDI_INFORMATION;
38 (*PSERVICE_CALLBACK_ROUTINE) (
39 IN PVOID NormalContext,
40 IN PVOID SystemArgument1,
41 IN PVOID SystemArgument2,
42 IN OUT PVOID SystemArgument3
47 (*PGDI_SERVICE_CALLBACK_ROUTINE) (
48 IN PVOID SystemArgument1,
49 IN ULONG SystemArgument2