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/
after windows boot up, I use windbg to check PCI config space to take a look six bars.
3: kd> !pci 100 3 0 0
10: BAR0 d000000c 11010000000000000000000000001100
14: BAR1 00000000
18: BAR2 e000000c 11100000000000000000000000001100
1c: BAR3 00000000
20: BAR4 0000e001 1110000000000001
24: BAR5 efd00000 11101111110100000000000000000000
from this i can know there are two 64-bit memory location and one 32-bit memory location.
At the same time i open device manager --> device properties --> Resources and i get this:
Memory Range 00000000D0000000 - 00000000DFFFFFFF
Memory Range 00000000E0000000 - 00000000E01FFFFF
Memory Range 00000000EFD00000 - 00000000EFD7FFFF
Memory Range 00000000000A0000 - 00000000000BFFFF
from this list there are four memory addresses, while PCI config space indicates three, why? and also how does device manger know size of each memory ?
|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!|
|Internals & Software Drivers||30 Nov 2020||LIVE ONLINE|
|Writing WDF Drivers||7 Dec 2020||LIVE ONLINE|
|Developing Minifilters||Early 2021||LIVE ONLINE|