Hi, everyone.
I have a very difficult question.
I want to call a KERNEL API must run on PASSIVE_LEVEL (such as ZwWriteFile) in High IRQL environment(DISPATCH_LEVEL). How can I do?
0.Call KeLowerIrql before call target KERNEL API, then call KeRaiseIrql, the result is BSOD.
1.Use system thread to call target KERNEL API, wait system thread with EVENT, but KeWaitForSingleObject cannot run on DISPATCH_LEVEL.
2.Use worker thread (ExQueueWorkItem) to call target KERNEL API, but how to wait worker thread finished?
I have a very difficult question.
I want to call a KERNEL API must run on PASSIVE_LEVEL (such as ZwWriteFile) in High IRQL environment(DISPATCH_LEVEL). How can I do?
0.Call KeLowerIrql before call target KERNEL API, then call KeRaiseIrql, the result is BSOD.
1.Use system thread to call target KERNEL API, wait system thread with EVENT, but KeWaitForSingleObject cannot run on DISPATCH_LEVEL.
2.Use worker thread (ExQueueWorkItem) to call target KERNEL API, but how to wait worker thread finished?