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

Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Aric Stewart 2016-10-21 05:58:47 +02:00 committed by Alexandre Julliard
parent 6d1901f885
commit b53846b60b
2 changed files with 4 additions and 4 deletions

View file

@ -112,9 +112,9 @@ NTSTATUS call_minidriver(ULONG code, DEVICE_OBJECT *device, void *in_buff, ULONG
buffer, out_size, TRUE, NULL, &irp_status);
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);
memcpy(out_buff, buffer, out_size);

View file

@ -61,8 +61,8 @@ static NTSTATUS get_device_id(DEVICE_OBJECT *device, BUS_QUERY_ID_TYPE type, WCH
irpsp->Parameters.QueryId.IdType = type;
IoSetCompletionRoutine(irp, internalComplete, event, TRUE, TRUE, TRUE);
IoCallDriver(device, irp);
if (irp->IoStatus.u.Status == STATUS_PENDING)
status = IoCallDriver(device, irp);
if (status == STATUS_PENDING)
WaitForSingleObject(event, INFINITE);
*id = (WCHAR*)irp->IoStatus.Information;