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.
It looks like you're new here. If you want to get involved, click one of these buttons!
|Upcoming OSR Seminars|
|Writing WDF Drivers||21 Oct 2019||OSR Seminar Space & ONLINE|
|Internals & Software Drivers||18 Nov 2019||Dulles, VA|
|Kernel Debugging||30 Mar 2020||OSR Seminar Space|
|Developing Minifilters||27 Apr 2020||OSR Seminar Space & ONLINE|