Fairly minimal patch to address ticket #6453, and some minor changes.  I
release this tiny bit of code under the MIT license.

 

Problem description and fix:

If verifier is enabled with "Force Pending IO requests", IoCallDriver
will return 0x103(STATUS_PENDING).  If IoCallDriver returns pending, we
wait for the completion event as we should - but we fail to copy the
status from the IOSB, so the packet is completed with STATUS_PENDING.
This will cause a verifier bugcheck, and an assertion on checked builds
of Windows.  The fix is to simply copy the status value from the IOSB to
the status variable after waiting for completion.

 

On a side note, if anyone has a few spare cycles to work on #6183, it
should be a pretty simple fix and would be greatly appreciated.

 

Additional changes: 

-          Optimization from DDK sample event-setting completion routine
added.  See WDK\src\general\toaster\wdm\filter\filter.c,
FilterStartCompletionRoutine or 
http://msdn.microsoft.com/en-us/library/ms810023.aspx.

-          Removed information and Irp->IoStatus.Status check as they
are unnecessary.

 

 

-Dennis Lawler

Attachment: VBoxMouse.patch
Description: VBoxMouse.patch

_______________________________________________
vbox-dev mailing list
[email protected]
http://vbox.innotek.de/mailman/listinfo/vbox-dev

Reply via email to