Commit c4cd339a authored by Zebediah Figura's avatar Zebediah Figura Committed by Alexandre Julliard

ntoskrnl: Copy the IRP I/O status block to the user I/O status block in IoCompleteRequest().

parent eb5d9495
......@@ -1941,6 +1941,7 @@ VOID WINAPI IoCompleteRequest( IRP *irp, UCHAR priority_boost )
if (irp->Flags & IRP_DEALLOCATE_BUFFER)
HeapFree( GetProcessHeap(), 0, irp->AssociatedIrp.SystemBuffer );
if (irp->UserIosb) *irp->UserIosb = irp->IoStatus;
if (irp->UserEvent) KeSetEvent( irp->UserEvent, IO_NO_INCREMENT, FALSE );
IoFreeIrp( irp );
......
......@@ -877,8 +877,8 @@ static void test_call_driver(DEVICE_OBJECT *device)
irp->IoStatus.Status = STATUS_SUCCESS;
irp->IoStatus.Information = 123;
IoCompleteRequest(irp, IO_NO_INCREMENT);
todo_wine ok(iosb.Status == STATUS_SUCCESS, "got status %#x\n", iosb.Status);
todo_wine ok(iosb.Information == 123, "got information %#x\n", iosb.Information);
ok(iosb.Status == STATUS_SUCCESS, "got status %#x\n", iosb.Status);
ok(iosb.Information == 123, "got information %#x\n", iosb.Information);
KeInitializeEvent(&event, NotificationEvent, FALSE);
......
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