There's a part of the DDK docs that says that "The IoCompletion
routine should perform whatever tasks the driver requires to return
the device to the working state."
(referring to the IoCompletion set for a wait/wake IRP in "Handling a
Wait/Wake IRP in a Function (FDO) or Filter Driver (Filter DO)")
Shouldn't this technically only be the case for the power policy
owner? Don't the other drivers in a stack just pass the wait/wake IRP
back up and only return to the working state when a subsequent
set-power IRP is received from the power policy owner?