Programming the Microsoft Windows Driver Model
Chapter 16
Filter Drivers
The Windows Driver Model assumes that a hardware device can have several drivers, each of which contributes in some way to the successful management of the device. WDM accomplishes the layering of drivers by means of a stack of device objects. I discussed this concept in Chapter 2. Up until now, I ve been talking exclusively about the function driver that manages the main functionality of a device. To round out this book, I ll describe how you write a filter driver that resides above or below the function driver and modifies the behavior of the device in some way by filtering the I/O request packets (IRPs) that flow through it.