2.0 KiB
DMF Extension Library for Bus Filter Support
🚨 DISCLAIMER 🚨
Provided for education purposes only! For use in lab environments and alike only. Don't use this in production and come crying to me afterwards if things blow up in your face, use at your own risk 💣 That out of the way, please continue reading 😉
About
This extension (or plugin, however you like to call it) to Microsoft DMF gives the kernel driver developer the ability to filter between bus drivers and their child PDOs. The need for such a tool arose when researching and working around a UDE shortcoming with audio devices in the lab environment. Microsoft's official stance on bus filter drivers are... not exultant to say the least. You can take the code for your research and development shenanigans in a controlled lab environment for any similar challenge that comes to mind. Heed my warnings though that I highly discourage the reader from adding code like this to their production releases. It works™ but is in no way, shape or form completely bug-free nor peer-reviewd nor approved by any of the big shots in the Windows driver development world. You have been warned.
Requirements
| Requirement | Value |
|---|---|
| Minimum supported Windows version | Windows 10, version 1507 (build 10240) |
| Minimum supported Windows Server version | Windows Server 2016 |
| KMDF version | 1.15 |
The floor is set by KMDF 1.15, which only loads on Windows 10 1507 / Server 2016 and later. All WDM APIs used by this library (IO_REMOVE_LOCK, IoAttachDeviceToDeviceStackSafe, IoAllocateWorkItem, KeAcquireInStackQueuedSpinLock, etc.) are available from Windows XP SP1 or earlier and do not raise the floor.
How to use
See this example implementation.