Hi folks,
I have a WDM filter driver, based on WDK toaster sample, that I am using to filter portable devices (mainly Phones), as upper filter. During AddDevice phase, I am querying device properties (such Description, Manufacturer and so on) and then attaching to device. I can see the IRP_MN_START_DEVICE, which I send down to next lower driver after setting a completion routine.
This is working fine on most of the machines I am testing on, but on some systems (every XP and some Windows 7 and Server 2008), when I send the IRP_MN_START_DEVICE down to next driver, I get a STATUS_DEVICE_CONFIGURATION_ERROR, so this is preventing the device from being installed in the first place.
I have managed to overcome this error by editing the hardware ID registry key for the device and creating “UpperDriverOk” and “KernelModeClientPolicy” values, setting them to 1.
This way the device starts without issues and I can filter it as normal.
Now, I am aware of Portable Devices being managed by an UMDF driver, but does that explains the issue with Start Device phase?
I haven’t found any differences between those systems with the issue and those that are working fine without needing the “registry values” workaround.
Is there any system setting or service configuration that might be helping (or ruining) this filtering scenario?
Would it be possible to apply the “KernelModeClientPolicy” workaround for the whole system and not separately for every single Phone device?
Thanks a lot in advance!