I am looking at the hidusbfx2 sample in the (7600.16385.0) WDK, but the inf file for the driver seem to contradict the docs.
As I understand, the hidkmdf driver is supposed to be the dummy function driver that forwards the irps to the kmdf hidusbfx2 lower filter driver, according to both the docs and the comments in the inf itself.
However, it seems as if the inf is written so that the hidusbfx2 is the function driver, and the hidkmdf is an upper filter.
From the file:
;
; hidkmdf is the function driver and hidusbfx2 is the lower filter
;
[hidusbfx2.Inst.NT.Services]
AddService = hidkmdf,hidkmdf_Service_Inst,
AddService = hidusbfx2,0x00000002, hidusbfx2_Service_Inst
However, the 0x00000002 flag in hidusbfx2’s AddService, according to MSDN, “Assigns the named service as the PnP function driver”.
And also:
[hidusbfx2_Parameters.AddReg]
HKR,“UpperFilters”,0x00010000,“hidkmdf”
What’s that all about?
I can see that stack-wize hidkmdf still seats above hidusbfx2 as an upper filter, but I have no idea what are the implications of that. Netiher have I actually tested it, so I have no idea if it does the trick