display some extra debug messages on boot to see whats going on.
[reactos.git] / reactos / drivers / input / mouclass / mouclass.c
index 9caf629..4879eef 100644 (file)
@@ -73,13 +73,18 @@ BOOLEAN MouseClassCallBack(PDEVICE_OBJECT ClassDeviceObject, PMOUSE_INPUT_DATA M
 
     // Throw data up to GDI callback
     if(*(PGDI_SERVICE_CALLBACK_ROUTINE)ClassDeviceExtension->GDIInformation.CallBack != NULL) {
+         DbgPrint("MouseClassCallBack() Calling GDI callback at %p\n", ClassDeviceExtension->GDIInformation.CallBack);
       (*(PGDI_SERVICE_CALLBACK_ROUTINE)ClassDeviceExtension->GDIInformation.CallBack)
         (ClassDeviceExtension->PortData - ReadSize, ReadSize);
-    }
+    } else {
+         DbgPrint("MouseClassCallBack() NO GDI callback installed\n");
+       }
 
     ClassDeviceExtension->PortData -= ReadSize;
     ClassDeviceExtension->InputCount -= ReadSize;
     ClassDeviceExtension->ReadIsPending = FALSE;
+  } else {
+    DbgPrint("MouseClassCallBack() entered, InputCount = %d - DOING NOTHING\n", *InputCount);
   }
 
   return TRUE;
@@ -90,7 +95,7 @@ NTSTATUS ConnectMousePortDriver(PDEVICE_OBJECT ClassDeviceObject)
    PDEVICE_OBJECT PortDeviceObject = NULL;
    PFILE_OBJECT FileObject = NULL;
    NTSTATUS status;
-   UNICODE_STRING PortName;
+   UNICODE_STRING PortName = UNICODE_STRING_INITIALIZER(L"\\Device\\Mouse");
    IO_STATUS_BLOCK ioStatus;
    KEVENT event;
    PIRP irp;
@@ -102,7 +107,6 @@ NTSTATUS ConnectMousePortDriver(PDEVICE_OBJECT ClassDeviceObject)
    // Get the port driver's DeviceObject
    // FIXME: The name might change.. find a way to be more dynamic?
 
-   RtlInitUnicodeString(&PortName, L"\\Device\\Mouse");
    status = IoGetDeviceObjectPointer(&PortName, FILE_READ_ATTRIBUTES, &FileObject, &PortDeviceObject);
 
    if(status != STATUS_SUCCESS)
@@ -233,6 +237,8 @@ NTSTATUS STDCALL MouseClassInternalDeviceControl(IN PDEVICE_OBJECT DeviceObject,
          DeviceExtension->GDIInformation =
             *((PGDI_INFORMATION)Stack->Parameters.DeviceIoControl.Type3InputBuffer);
 
+         DbgPrint("MouseClassInternalDeviceControl() installed GDI callback at %p\n", DeviceExtension->GDIInformation.CallBack);
+
          status = STATUS_SUCCESS;
          break;
 
@@ -263,8 +269,8 @@ NTSTATUS STDCALL
 DriverEntry(PDRIVER_OBJECT DriverObject, PUNICODE_STRING RegistryPath)
 {
    PDEVICE_OBJECT DeviceObject;
-   UNICODE_STRING DeviceName;
-   UNICODE_STRING SymlinkName;
+   UNICODE_STRING DeviceName = UNICODE_STRING_INITIALIZER(L"\\Device\\MouseClass");
+   UNICODE_STRING SymlinkName = UNICODE_STRING_INITIALIZER(L"\\??\\MouseClass");
 
    DriverObject->MajorFunction[IRP_MJ_CREATE] = MouseClassDispatch;
 //   DriverObject->MajorFunction[IRP_MJ_CLOSE]  = MouseClassDispatch;
@@ -272,7 +278,6 @@ DriverEntry(PDRIVER_OBJECT DriverObject, PUNICODE_STRING RegistryPath)
    DriverObject->MajorFunction[IRP_MJ_INTERNAL_DEVICE_CONTROL] = MouseClassInternalDeviceControl; // to get GDI callback
 //   DriverObject->DriverStartIo                = MouseClassStartIo;
 
-   RtlInitUnicodeString(&DeviceName, L"\\Device\\MouseClass");
    IoCreateDevice(DriverObject,
                  sizeof(DEVICE_EXTENSION),
                  &DeviceName,
@@ -282,7 +287,6 @@ DriverEntry(PDRIVER_OBJECT DriverObject, PUNICODE_STRING RegistryPath)
                  &DeviceObject);
    DeviceObject->Flags = DeviceObject->Flags | DO_BUFFERED_IO;
 
-   RtlInitUnicodeString(&SymlinkName, L"\\??\\MouseClass");
    IoCreateSymbolicLink(&SymlinkName, &DeviceName);
 
    return ConnectMousePortDriver(DeviceObject);