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);
62 Fdo->Flags &= ~DO_DEVICE_INITIALIZING;
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);
static PIO_STACK_LOCATION IoGetCurrentIrpStackLocation(PIRP Irp)
#define FILE_DEVICE_SECURE_OPEN
#define NT_SUCCESS(StatCode)
static void cleanup(void)
#define ExAllocatePoolWithTag(hernya, size, tag)
#define KeInitializeEvent(pEvt, foo, foo2)
DRIVER_DISPATCH ForwardIrpAndForget
#define MOUSE_SERIAL_HARDWARE
#define WHEELMOUSE_SERIAL_HARDWARE
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)
NTSTATUS NTAPI IoAttachDeviceToDeviceStackSafe(IN PDEVICE_OBJECT SourceDevice, IN PDEVICE_OBJECT TargetDevice, IN OUT PDEVICE_OBJECT *AttachedToDeviceObject)
VOID NTAPI IoDetachDevice(IN PDEVICE_OBJECT TargetDevice)
VOID NTAPI IoDeleteDevice(IN PDEVICE_OBJECT DeviceObject)
PVOID NTAPI IoGetDriverObjectExtension(IN PDRIVER_OBJECT DriverObject, IN PVOID ClientIdentificationAddress)
#define IoCompleteRequest
BOOLEAN NTAPI IoForwardIrpSynchronously(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
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)
PPCI_DRIVER_EXTENSION DriverExtension
#define FILE_DEVICE_SERIAL_MOUSE_PORT
VOID NTAPI SermouseDeviceWorker(PVOID Context)
struct _SERMOUSE_DEVICE_EXTENSION * PSERMOUSE_DEVICE_EXTENSION
DRIVER_DISPATCH SermousePnp
DRIVER_ADD_DEVICE SermouseAddDevice
ULONG InputDataQueueLength
PSERMOUSE_DRIVER_EXTENSION DriverExtension
KEVENT StopWorkerThreadEvent
SERMOUSE_MOUSE_TYPE MouseType
PDEVICE_OBJECT LowerDevice
MOUSE_ATTRIBUTES AttributesInformation
SERMOUSE_DEVICE_STATE PnpState
HANDLE WorkerThreadHandle
#define FIELD_OFFSET(t, f)
#define RtlZeroMemory(Destination, Length)
#define STATUS_DEVICE_NOT_CONNECTED
#define STATUS_UNSUCCESSFUL
_In_ PDEVICE_OBJECT DeviceObject
_In_ UCHAR _In_ UCHAR MinorFunction
_Must_inspect_result_ _In_ PDRIVER_OBJECT DriverObject
_Must_inspect_result_ _In_ WDFDEVICE Fdo
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
_In_ WDFREQUEST _In_ PIO_STACK_LOCATION Stack
_In_ WDFREQUEST _In_ NTSTATUS _In_ ULONG_PTR Information
#define IRP_MN_START_DEVICE
#define IRP_MN_QUERY_DEVICE_RELATIONS