V>Документация DDK в некоторых местах вместо <DISPATCH_LEVEL неточно ставит >PASSIVE_LEVEL как требование.
Это факт.
Крайне мало где нужен именно PASSIVE, и не годится APC. Во всех Zwxxx функциях ввода вывода, например. Дело в том, что APC_LEVEL блокирует IopCompleteRequest, и потому никто не просигналит Irp->UserEvent. Ждать будем потому — до морковкина заговения.