First of all, HUGE thanks to Ilia S. for helping to track down this little trap. I’m glad we finally got your driver up and running! Nothing like having an 8 hour time difference to slow things down. :)
For those of you who like the 30 second version;
If you need to use Impersonation in a UMDF driver, regardless of being a filter or a function driver, you cannot have AutoForwardCreateCleanupClose set to WdfTrue. For filter drivers this means you must invoke AutoForwardCreateCleanupClose with WdfFalse AFTER you call SetFilter and BEFORE you call CreateDevice and then follow all the rules for balancing Create and Close and handling Impersonation (same link as above for impersonation). Easy enough? :)
For those of you who like long winded technical posts, I am going to do a write up on how to get a UMDF driver to sit on top of a HID collection.
And for those of you who like to work ahead and start digging around on your own, you first need to match your INF section for HWID to HID\VID_<nnnn>&PID_<nnnn>&XX_xx&&ColNN. Second install WUDFRd as an upper filter to that HWID. Now, if your collection has enforced secure read, you’re going to need that little tip above.
I’ll work on getting the first part of the write up done this week and posted by early next week. I need to do a little code work on a sample for you faithful readers. *thumbs up*
As always, fire off any questions you have!
Now Playing – Stone Temple Pilots Trippin’ on a hole in a paper heart