From: Johannes Anderwald Date: Thu, 5 Jan 2012 18:22:48 +0000 (+0000) Subject: [HID] X-Git-Tag: backups/usb-bringup@55523~6 X-Git-Url: https://git.reactos.org/?p=reactos.git;a=commitdiff_plain;h=f53c2c4f1461921e40aa9ceba94e8ed3d0baace9 [HID] - Implement quering compatible ids - Fix result status for quering instance id - Fix bug in msmouse.inf svn path=/branches/usb-bringup/; revision=54843 --- diff --git a/drivers/hid/hidclass/pdo.c b/drivers/hid/hidclass/pdo.c index b15d56eade2..097c9788d99 100644 --- a/drivers/hid/hidclass/pdo.c +++ b/drivers/hid/hidclass/pdo.c @@ -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; } diff --git a/media/inf/input.inf b/media/inf/input.inf index c33d99f961e..810eafc1655 100644 --- a/media/inf/input.inf +++ b/media/inf/input.inf @@ -59,7 +59,7 @@ ServiceType = 1 StartType = 3 ErrorControl = 1 ServiceBinary = %12%\hidusb.sys -LoadOrderGroup = Pointer Port +LoadOrderGroup = extended base [strings] MSFT = "ReactOS" diff --git a/media/inf/msmouse.inf b/media/inf/msmouse.inf index 3e08b5b9a47..dae16ed4c77 100644 Binary files a/media/inf/msmouse.inf and b/media/inf/msmouse.inf differ