[HID]
authorJohannes Anderwald <johannes.anderwald@reactos.org>
Thu, 5 Jan 2012 18:22:48 +0000 (18:22 +0000)
committerJohannes Anderwald <johannes.anderwald@reactos.org>
Thu, 5 Jan 2012 18:22:48 +0000 (18:22 +0000)
- Implement quering compatible ids
- Fix result status for quering instance id
- Fix bug in msmouse.inf

svn path=/branches/usb-bringup/; revision=54843

drivers/hid/hidclass/pdo.c
media/inf/input.inf
media/inf/msmouse.inf

index b15d56e..097c978 100644 (file)
@@ -131,6 +131,8 @@ HidClassPDO_HandleQueryDeviceId(
     //
     // store result
     //
+    DPRINT1("NewBuffer %S\n", NewBuffer);
+    ASSERT(FALSE);
     Irp->IoStatus.Information = (ULONG_PTR)NewBuffer;
     return STATUS_SUCCESS;
 }
@@ -183,8 +185,8 @@ HidClassPDO_HandleQueryHardwareId(
         //
         // single tlc device
         //
-        Offset = swprintf(&Buffer[Offset], L"HID\\Vid_%04x&Pid_%04x&Rev_%04x", PDODeviceExtension->Common.Attributes.VendorID, PDODeviceExtension->Common.Attributes.ProductID, PDODeviceExtension->Common.Attributes.VersionNumber) + 1;
-        Offset += swprintf(&Buffer[Offset], L"HID\\Vid_%04x&Pid_%04x", PDODeviceExtension->Common.Attributes.VendorID, PDODeviceExtension->Common.Attributes.ProductID) + 1;
+        Offset = swprintf(&Buffer[Offset], L"HID\\Vix_%04x&Pid_%04x&Rev_%04x", PDODeviceExtension->Common.Attributes.VendorID, PDODeviceExtension->Common.Attributes.ProductID, PDODeviceExtension->Common.Attributes.VersionNumber) + 1;
+        Offset += swprintf(&Buffer[Offset], L"HID\\Vix_%04x&Pid_%04x", PDODeviceExtension->Common.Attributes.VendorID, PDODeviceExtension->Common.Attributes.ProductID) + 1;
     }
 
     //
@@ -270,6 +272,7 @@ HidClassPDO_HandleQueryHardwareId(
     //
     // store result
     //
+    ASSERT(FALSE);
     Irp->IoStatus.Information = (ULONG_PTR)Ptr;
     return STATUS_SUCCESS;
 }
@@ -298,11 +301,7 @@ HidClassPDO_HandleQueryInstanceId(
         return Status;
     }
     DPRINT1("HidClassPDO_HandleQueryInstanceId Buffer %S\n", Irp->IoStatus.Information);
-    //
-    //TODO implement instance id
-    // example:
-    // HID\VID_045E&PID_0047\8&1A0700BC&0&0000
-    return STATUS_NOT_IMPLEMENTED;
+    return Status;
 }
 
 NTSTATUS
@@ -310,29 +309,28 @@ HidClassPDO_HandleQueryCompatibleId(
     IN PDEVICE_OBJECT DeviceObject,
     IN PIRP Irp)
 {
-    NTSTATUS Status;
-
-    //
-    // copy current stack location
-    //
-    IoCopyCurrentIrpStackLocationToNext(Irp);
+    LPWSTR Buffer;
 
-    //
-    // call mini-driver
-    //
-    Status = HidClassFDO_DispatchRequestSynchronous(DeviceObject, Irp);
-    if (!NT_SUCCESS(Status))
+    Buffer = (LPWSTR)ExAllocatePool(NonPagedPool, 2 * sizeof(WCHAR));
+    if (!Buffer)
     {
         //
-        // failed
+        // no memory
         //
-        return Status;
+        return STATUS_INSUFFICIENT_RESOURCES;
     }
 
     //
-    // FIXME: implement me
+    // zero buffer
+    //
+    Buffer[0] = 0;
+    Buffer[1] = 0;
+
+    //
+    // store result
     //
-    return STATUS_NOT_IMPLEMENTED;
+    Irp->IoStatus.Information = (ULONG_PTR)Buffer;
+    return STATUS_SUCCESS;
 }
 
 
index c33d99f..810eafc 100644 (file)
@@ -59,7 +59,7 @@ ServiceType   = 1
 StartType     = 3
 ErrorControl  = 1
 ServiceBinary = %12%\hidusb.sys
-LoadOrderGroup = Pointer Port
+LoadOrderGroup = extended base
 
 [strings]
 MSFT                  = "ReactOS"
index 3e08b5b..dae16ed 100644 (file)
Binary files a/media/inf/msmouse.inf and b/media/inf/msmouse.inf differ