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/
Below from archives
If your device has multiple interfaces, for example multiple ports in a NIC, you'll need to split that out so that Windows perceives your adapter as multiple devices. You can either do that 1) using the PCI spec, exposing multiple functions in which case Microsoft's PCI.sys will be the bus driver that exposes multiple device, or 2) do it by exposing a single function to PCI.sys and then supplying your own bus driver which further splits your adapter up into different logical devices. If you choose to use Microsoft's bus driver, then you've got to conform to a) all the picayune details of the PCI and PCI Express specs for multi-function devices and b) all the things implied by those specs within Microsoft's driver model. <<
[A] Why is [b] needed if device already satisfies [a] ?
[B] Can I use MF.sys with below
- No registers overlap
|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||30 Mar 2020||OSR Seminar Space|
|Developing Minifilters||15 Jun 2020||LIVE ONLINE|
|Writing WDF Drivers||22 June 2020||LIVE ONLINE|
|Internals & Software Drivers||28 Sept 2020||Dulles, VA|