STATUS_DEVICE_CONFIGURATION_ERROR

Hello,
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!

There is not global KernelModeClientPolicy OK policy you can set for all UMDF drivers. Think about it, there is good reason not to have it. The umdf driver has to be aware that it requests are coming from KM vs strictly UM.

-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of xxxxx@yahoo.com
Sent: Friday, January 29, 2016 6:30 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] STATUS_DEVICE_CONFIGURATION_ERROR

Hello,
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!


NTDEV is sponsored by OSR

Visit the list online at: https:

MONTHLY seminars on crash dump analysis, WDF, Windows internals and software drivers!
Details at https:

To unsubscribe, visit the List Server section of OSR Online at https:</https:></https:></https:>