23 TRACE_(SERMOUSE,
"SermouseAddDevice called. Pdo = 0x%p\n",
Pdo);
40 WARN_(SERMOUSE,
"IoCreateDevice() failed with status 0x%08lx\n",
Status);
53 WARN_(SERMOUSE,
"IoAttachDeviceToDeviceStackSafe() failed with status 0x%08lx\n",
Status);
95 WARN_(SERMOUSE,
"No mouse connected to Fdo %p\n",
115 WARN_(SERMOUSE,
"Unknown mouse type 0x%lx\n", MouseType);
177 TRACE_(SERMOUSE,
"IRP_MJ_PNP / IRP_MN_START_DEVICE\n");
194 switch (
Stack->Parameters.QueryDeviceRelations.Type)
199 TRACE_(SERMOUSE,
"IRP_MJ_PNP / IRP_MN_QUERY_DEVICE_RELATIONS / TargetDeviceRelation\n");
202 if (!DeviceRelations)
204 WARN_(SERMOUSE,
"ExAllocatePoolWithTag() failed\n");
209 DeviceRelations->
Count = 0;
217 TRACE_(SERMOUSE,
"IRP_MJ_PNP / IRP_MN_QUERY_DEVICE_RELATIONS / Unknown type 0x%lx\n",
218 Stack->Parameters.QueryDeviceRelations.Type);
#define DO_DEVICE_INITIALIZING
NTSTATUS NTAPI ForwardIrpAndForget(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
PDEVICE_OBJECT LowerDevice
BOOLEAN NTAPI IoForwardIrpSynchronously(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
SERMOUSE_DEVICE_STATE PnpState
#define MOUSE_SERIAL_HARDWARE
VOID NTAPI IoDetachDevice(IN PDEVICE_OBJECT TargetDevice)
struct _SERMOUSE_DEVICE_EXTENSION * PSERMOUSE_DEVICE_EXTENSION
_In_ WDFREQUEST _In_ NTSTATUS _In_ ULONG_PTR Information
HANDLE WorkerThreadHandle
_In_ WDFREQUEST _In_ PIO_STACK_LOCATION Stack
_In_ PDEVICE_OBJECT DeviceObject
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
ULONG InputDataQueueLength
WDF_EXTERN_C_START typedef _Must_inspect_result_ _In_ WDFDRIVER _In_opt_ PWDF_OBJECT_ATTRIBUTES _In_ PDEVICE_OBJECT _In_opt_ PDEVICE_OBJECT _In_opt_ PDEVICE_OBJECT Pdo
VOID NTAPI SermouseDeviceWorker(PVOID Context)
_In_ UCHAR _In_ UCHAR MinorFunction
#define IoCompleteRequest
_Must_inspect_result_ _In_ PDRIVER_OBJECT DriverObject
#define STATUS_DEVICE_NOT_CONNECTED
NTSTATUS NTAPI IoAttachDeviceToDeviceStackSafe(IN PDEVICE_OBJECT SourceDevice, IN PDEVICE_OBJECT TargetDevice, IN OUT PDEVICE_OBJECT *AttachedToDeviceObject)
#define NT_SUCCESS(StatCode)
#define IRP_MN_START_DEVICE
MOUSE_ATTRIBUTES AttributesInformation
#define STATUS_UNSUCCESSFUL
#define ExAllocatePoolWithTag(hernya, size, tag)
_Must_inspect_result_ _In_ WDFDEVICE Fdo
PVOID NTAPI IoGetDriverObjectExtension(IN PDRIVER_OBJECT DriverObject, IN PVOID ClientIdentificationAddress)
#define FILE_DEVICE_SERIAL_MOUSE_PORT
#define WHEELMOUSE_SERIAL_HARDWARE
__drv_aliasesMem FORCEINLINE PIO_STACK_LOCATION IoGetCurrentIrpStackLocation(_In_ PIRP Irp)
VOID NTAPI IoDeleteDevice(IN PDEVICE_OBJECT DeviceObject)
#define KeInitializeEvent(pEvt, foo, foo2)
NTSTATUS NTAPI PsCreateSystemThread(OUT PHANDLE ThreadHandle, IN ACCESS_MASK DesiredAccess, IN POBJECT_ATTRIBUTES ObjectAttributes, IN HANDLE ProcessHandle, IN PCLIENT_ID ClientId, IN PKSTART_ROUTINE StartRoutine, IN PVOID StartContext)
#define FIELD_OFFSET(t, f)
#define IRP_MN_QUERY_DEVICE_RELATIONS
SERMOUSE_MOUSE_TYPE MouseType
PPCI_DRIVER_EXTENSION DriverExtension
NTSTATUS NTAPI IoCreateDevice(IN PDRIVER_OBJECT DriverObject, IN ULONG DeviceExtensionSize, IN PUNICODE_STRING DeviceName, IN DEVICE_TYPE DeviceType, IN ULONG DeviceCharacteristics, IN BOOLEAN Exclusive, OUT PDEVICE_OBJECT *DeviceObject)
#define RtlZeroMemory(Destination, Length)
char * cleanup(char *str)
PSERMOUSE_DRIVER_EXTENSION DriverExtension
#define FILE_DEVICE_SECURE_OPEN
KEVENT StopWorkerThreadEvent