17 typedef struct _CLASS_DRIVER_EXTENSION
19 UNICODE_STRING RegistryPath
;
21 /* Registry settings */
22 ULONG ConnectMultiplePorts
;
24 UNICODE_STRING DeviceBaseName
;
26 PDEVICE_OBJECT MainClassDeviceObject
;
27 } CLASS_DRIVER_EXTENSION
, *PCLASS_DRIVER_EXTENSION
;
29 typedef struct _COMMON_DEVICE_EXTENSION
32 } COMMON_DEVICE_EXTENSION
, *PCOMMON_DEVICE_EXTENSION
;
34 typedef struct _PORT_DEVICE_EXTENSION
36 COMMON_DEVICE_EXTENSION Common
;
39 PDEVICE_OBJECT DeviceObject
;
40 PORT_DEVICE_STATE PnpState
;
41 PDEVICE_OBJECT LowerDevice
;
42 PDEVICE_OBJECT ClassDO
;
43 UNICODE_STRING InterfaceName
;
44 } PORT_DEVICE_EXTENSION
, *PPORT_DEVICE_EXTENSION
;
46 typedef struct _CLASS_DEVICE_EXTENSION
48 COMMON_DEVICE_EXTENSION Common
;
50 PCLASS_DRIVER_EXTENSION DriverExtension
;
53 KSPIN_LOCK ListSpinLock
;
55 BOOLEAN ReadIsPending
;
57 PMOUSE_INPUT_DATA PortData
;
58 } CLASS_DEVICE_EXTENSION
, *PCLASS_DEVICE_EXTENSION
;
64 IN PDEVICE_OBJECT DeviceObject
,
69 IN PDEVICE_OBJECT DeviceObject
,