The free OSR Learning Library has more than 50 articles on a wide variety of topics about writing and debugging device drivers and Minifilters. From introductory level to advanced. All the articles have been recently reviewed and updated, and are written using the clear and definitive style you've come to expect from OSR over the years.
Check out The OSR Learning Library at: https://www.osr.com/osr-learning-library/
Hi everyone. The Filter Manager does a good job of making fast I/O calls look like IRPs. With that in mind I've got some nuance questions I can't find answered anywhere:
If the minfilter does NOT reply with FLT_PREOP_DISALLOW_FASTIO to IRP_MJ_CREATE (thus allowing the fast I/O calls for that file I/O?), but then after zero or more IRP_MJ_READ calls determines it can't handle an IRP_MJ_READ (perhaps it needs to pend the operation), can it return FLT_PREOP_DISALLOW_FASTIO at that point (in the PreOp)?
What is different in IRP_MJ_READ between an IRP-based and fast I/O based request? (I assume differences will be similar for IRP_MJ_WRITE?) Does it boil down to IRQL or buffer management?
Thanks for any help, I appreciate it.
|Upcoming OSR Seminars|
|OSR has suspended in-person seminars due to the Covid-19 outbreak. But, don't miss your training! Attend via the internet instead!|
|Kernel Debugging||16-20 October 2023||Live, Online|
|Developing Minifilters||13-17 November 2023||Live, Online|
|Internals & Software Drivers||4-8 Dec 2023||Live, Online|
|Writing WDF Drivers||10-14 July 2023||Live, Online|