Commit b53846b6 authored by Aric Stewart's avatar Aric Stewart Committed by Alexandre Julliard

hidclass.sys: Watch return for STATUS_PENDING not IRP status.

parent 6d1901f8
...@@ -112,9 +112,9 @@ NTSTATUS call_minidriver(ULONG code, DEVICE_OBJECT *device, void *in_buff, ULONG ...@@ -112,9 +112,9 @@ NTSTATUS call_minidriver(ULONG code, DEVICE_OBJECT *device, void *in_buff, ULONG
buffer, out_size, TRUE, NULL, &irp_status); buffer, out_size, TRUE, NULL, &irp_status);
IoSetCompletionRoutine(irp, internalComplete, event, TRUE, TRUE, TRUE); IoSetCompletionRoutine(irp, internalComplete, event, TRUE, TRUE, TRUE);
IoCallDriver(device, irp); status = IoCallDriver(device, irp);
if (irp->IoStatus.u.Status == STATUS_PENDING) if (status == STATUS_PENDING)
WaitForSingleObject(event, INFINITE); WaitForSingleObject(event, INFINITE);
memcpy(out_buff, buffer, out_size); memcpy(out_buff, buffer, out_size);
......
...@@ -61,8 +61,8 @@ static NTSTATUS get_device_id(DEVICE_OBJECT *device, BUS_QUERY_ID_TYPE type, WCH ...@@ -61,8 +61,8 @@ static NTSTATUS get_device_id(DEVICE_OBJECT *device, BUS_QUERY_ID_TYPE type, WCH
irpsp->Parameters.QueryId.IdType = type; irpsp->Parameters.QueryId.IdType = type;
IoSetCompletionRoutine(irp, internalComplete, event, TRUE, TRUE, TRUE); IoSetCompletionRoutine(irp, internalComplete, event, TRUE, TRUE, TRUE);
IoCallDriver(device, irp); status = IoCallDriver(device, irp);
if (irp->IoStatus.u.Status == STATUS_PENDING) if (status == STATUS_PENDING)
WaitForSingleObject(event, INFINITE); WaitForSingleObject(event, INFINITE);
*id = (WCHAR*)irp->IoStatus.Information; *id = (WCHAR*)irp->IoStatus.Information;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment