Wait the opening of mouclass device to connect the underlying mouse port
driver
Modified: trunk/reactos/drivers/input/mouclass/mouclass.c
_____
Modified: trunk/reactos/drivers/input/mouclass/mouclass.c
--- trunk/reactos/drivers/input/mouclass/mouclass.c 2005-06-03
16:57:55 UTC (rev 15750)
+++ trunk/reactos/drivers/input/mouclass/mouclass.c 2005-06-03
17:09:47 UTC (rev 15751)
@@ -19,6 +19,8 @@
#define NDEBUG
#include <debug.h>
+PDEVICE_OBJECT MouclassDeviceObject;
+
BOOLEAN MouseClassCallBack(
PDEVICE_OBJECT ClassDeviceObject, PMOUSE_INPUT_DATA MouseDataStart,
PMOUSE_INPUT_DATA MouseDataEnd, PULONG ConsumedCount)
@@ -160,7 +162,7 @@
switch (Stack->MajorFunction)
{
case IRP_MJ_CREATE:
- Status = STATUS_SUCCESS;
+ Status = ConnectMousePortDriver(MouclassDeviceObject);
break;
case IRP_MJ_CLOSE:
@@ -264,13 +266,7 @@
return Status;
}
- Status = ConnectMousePortDriver(DeviceObject);
- if (!NT_SUCCESS(Status))
- {
- IoDeleteSymbolicLink(&SymlinkName);
- IoDeleteDevice(DeviceObject);
- return Status;
- }
+ MouclassDeviceObject = DeviceObject;
return STATUS_SUCCESS;
}