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/
Hello again OSR Community:
In my KMDF EvtDeviceAdd routine, my one and only WdfDeviceCreate fails with STATUS_INVALID_DEVICE_REQUEST when I set SynchronizationScope = WdfSynchronizationScopeDev. Leaving it default, which is InheritFromParent due to the WDF_OBJECT_ATTRIBUTES_INIT_CONTEXT_TYPE macro, the creation succeeds.
In the article "WDF File Object Callbacks and Properties Demystified", https://osr.com/nt-insider/2014-issue1/wdf-file-object-callbacks-properties-demystified/, it states"...Lastly, WdfSynchronizationScopeDevice is a valid choice only if the parent WDF Device Object has a PASSIVE_LEVEL execution constraint, otherwise the Framework fails the attempt to create the device...."
In the article, "Understanding Sync Scope in WDF Drivers", https://osr.com/nt-insider/2014-issue3/understanding-sync-scope-wdf-drivers/, which came out later that year, there is no mention of any such restriction.
The MS Documentation states that "The parent of each framework device object is the driver's framework driver object.". Which doesn't really tell me much as I don't know the synch scope setting, and if it's not set to Device, then what?
I realize I am missing some fundamental understanding, and the articles + documentation, although quite good, haven't been enough for me; I know, I am a bit thick headed, it takes me a while...
Thanks for any help.
|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|