Windows System Software -- Consulting, Training, Development -- Unique Expertise, Guaranteed Results

Before Posting...
Please check out the Community Guidelines in the Announcements and Administration Category.


bastien_thonnatbastien_thonnat Member Posts: 26


If I understand well this discussion :,
I can't do any I/O in this IRP if the current IRQL is >= APC_LEVEL, because FltQueueDeferredIoWorkItem insert the work in a system thread,
and FltDoCompletionProcessingWhenSafe immediately call the SafePostCallBack if the current IRQL is <= APC_LEVEL, or try to post it in a system worker thread if it's > APC_LEVEL.

Is there a way to safely process IRP_MJ_CLEANUP at PASSIVE_LEVEL without switching in a system thread ?

Do I need to process my I/O in another thread and wait inside the Pre/Post callback for completion before returning CALLBACK_STATUS other than PENDING or MORE_PROCESSING_REQUIRED ?


Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Upcoming OSR Seminars
Writing WDF Drivers 21 Oct 2019 OSR Seminar Space & ONLINE
Internals & Software Drivers 18 Nov 2019 Dulles, VA
Kernel Debugging 30 Mar 2020 OSR Seminar Space
Developing Minifilters 27 Apr 2020 OSR Seminar Space & ONLINE