When a device is either stopped or removed, shouldn't the current IRP
for which there was I/O in progress be completed before finishing the
stop/remove PNP request? When I look at the WDM book examples, I see
the device's IRP queue being either stalled or aborted, but I'm unsure
about the way the I/O in progress is handled. Both stop and remove
look like they either wait for the current I/O to finish or cause the
device hardware to abort it, but shouldn't they also complete the IRP
associated with that I/O? (either with success in the stop/wait case
or error in the remove/abort case)