[PATCH 2/6] hidclass.sys: Use call_minidriver for IOCTL_HID_READ_REPORT.

Rémi Bernon rbernon at codeweavers.com
Thu Aug 5 03:36:03 CDT 2021


Signed-off-by: Rémi Bernon <rbernon at codeweavers.com>
---
 dlls/hidclass.sys/device.c | 12 ++----------
 1 file changed, 2 insertions(+), 10 deletions(-)

diff --git a/dlls/hidclass.sys/device.c b/dlls/hidclass.sys/device.c
index 3a577aabfbd..ab449b9b0d9 100644
--- a/dlls/hidclass.sys/device.c
+++ b/dlls/hidclass.sys/device.c
@@ -178,7 +178,6 @@ static DWORD CALLBACK hid_device_thread(void *args)
 {
     DEVICE_OBJECT *device = (DEVICE_OBJECT*)args;
 
-    IRP *irp;
     IO_STATUS_BLOCK irp_status;
     HID_XFER_PACKET *packet;
     DWORD rc;
@@ -221,15 +220,8 @@ static DWORD CALLBACK hid_device_thread(void *args)
 
         while(1)
         {
-            KEVENT event;
-
-            KeInitializeEvent(&event, NotificationEvent, FALSE);
-
-            irp = IoBuildDeviceIoControlRequest(IOCTL_HID_READ_REPORT, ext->u.pdo.parent_fdo,
-                    NULL, 0, packet->reportBuffer, report_size, TRUE, &event, &irp_status);
-
-            if (IoCallDriver(ext->u.pdo.parent_fdo, irp) == STATUS_PENDING)
-                KeWaitForSingleObject(&event, Executive, KernelMode, FALSE, NULL);
+            call_minidriver( IOCTL_HID_READ_REPORT, ext->u.pdo.parent_fdo, NULL, 0,
+                             packet->reportBuffer, report_size, &irp_status );
 
             rc = WaitForSingleObject(ext->u.pdo.halt_event, 0);
             if (rc == WAIT_OBJECT_0)
-- 
2.32.0




More information about the wine-devel mailing list