17{
21
24
25 switch (
Stack->Parameters.DeviceIoControl.IoControlCode)
26 {
28 {
29 TRACE_(SERMOUSE,
"IRP_MJ_INTERNAL_DEVICE_CONTROL / IOCTL_INTERNAL_MOUSE_CONNECT\n");
33 break;
34 }
36 {
37 TRACE_(SERMOUSE,
"IRP_MJ_INTERNAL_DEVICE_CONTROL / IOCTL_INTERNAL_MOUSE_DISCONNECT\n");
38
39
42 break;
43 }
45 {
46 TRACE_(SERMOUSE,
"IRP_MJ_INTERNAL_DEVICE_CONTROL / IOCTL_MOUSE_QUERY_ATTRIBUTES\n");
48 {
53 }
54 else
55 {
57 }
58 break;
59 }
60 default:
61 {
62 WARN_(SERMOUSE,
"IRP_MJ_INTERNAL_DEVICE_CONTROL / unknown ioctl code 0x%lx\n",
63 Stack->Parameters.DeviceIoControl.IoControlCode);
66 break;
67 }
68 }
69
72 {
75 }
76 else
77 {
79 }
80
82}
static PIO_STACK_LOCATION IoGetCurrentIrpStackLocation(PIRP Irp)
#define KeSetEvent(pEvt, foo, foo2)
struct _CONNECT_DATA * PCONNECT_DATA
#define IOCTL_INTERNAL_MOUSE_DISCONNECT
#define IOCTL_INTERNAL_MOUSE_CONNECT
struct _MOUSE_ATTRIBUTES * PMOUSE_ATTRIBUTES
#define IOCTL_MOUSE_QUERY_ATTRIBUTES
VOID NTAPI IoStartPacket(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN PULONG Key, IN PDRIVER_CANCEL CancelFunction)
#define IoCompleteRequest
struct _SERMOUSE_DEVICE_EXTENSION * PSERMOUSE_DEVICE_EXTENSION
#define STATUS_BUFFER_TOO_SMALL
KEVENT StopWorkerThreadEvent
MOUSE_ATTRIBUTES AttributesInformation
#define STATUS_INVALID_DEVICE_REQUEST
_In_ PDEVICE_OBJECT DeviceObject
_In_ WDFREQUEST _In_ PIO_STACK_LOCATION Stack