8 IoAttachDeviceToDeviceStackSafe(
9 IN PDEVICE_OBJECT SourceDevice
,
10 IN PDEVICE_OBJECT TargetDevice
,
11 OUT PDEVICE_OBJECT
*AttachedToDeviceObject
);
13 #error Unknown compiler!
25 typedef struct _CLASS_DRIVER_EXTENSION
27 UNICODE_STRING RegistryPath
;
29 /* Registry settings */
30 ULONG ConnectMultiplePorts
;
32 UNICODE_STRING DeviceBaseName
;
34 PDEVICE_OBJECT MainClassDeviceObject
;
35 } CLASS_DRIVER_EXTENSION
, *PCLASS_DRIVER_EXTENSION
;
37 typedef struct _COMMON_DEVICE_EXTENSION
40 } COMMON_DEVICE_EXTENSION
, *PCOMMON_DEVICE_EXTENSION
;
42 typedef struct _PORT_DEVICE_EXTENSION
44 COMMON_DEVICE_EXTENSION Common
;
46 PORT_DEVICE_STATE PnpState
;
47 PDEVICE_OBJECT LowerDevice
;
48 UNICODE_STRING InterfaceName
;
49 } PORT_DEVICE_EXTENSION
, *PPORT_DEVICE_EXTENSION
;
51 typedef struct _CLASS_DEVICE_EXTENSION
53 COMMON_DEVICE_EXTENSION Common
;
55 PCLASS_DRIVER_EXTENSION DriverExtension
;
58 BOOLEAN ReadIsPending
;
60 PKEYBOARD_INPUT_DATA PortData
;
61 } CLASS_DEVICE_EXTENSION
, *PCLASS_DEVICE_EXTENSION
;
67 IN PDEVICE_OBJECT DeviceObject
,