Я пишу драйвер для Windows NT, который загружается через загрузчик драйверов turluda TDL. Загрузчик загружает образ драйвера, вручную отображает его в памяти ядра и выполняет точку входа после разрешения импорта.
Моя проблема в том, что DriverEntry
вызывается на DISPATCH_LEVEL
. Мне нужно уменьшить его до PASSIVE_LEVEL
, чтобы я мог использовать такие функции, как PsCreateSystemThread
. Как я могу опустить его? Я не могу использовать KeLowerIrql
, так как для этого требуется предыдущее значение IRQL, переданное из любой из KeRaise*
функций.