Windows System Software -- Consulting, Training, Development -- Unique Expertise, Guaranteed Results

Before Posting...
Please check out the Community Guidelines in the Announcements and Administration Category.

WdfChildListUpdateChildDescriptionAsMissing not working sometimes.

xkkduoxkkduo Member Posts: 1

In some cases,I terminate a game,then unplug virtual gamepad device(HID-compliant game controller) by WdfChildListUpdateChildDescriptionAsMissing.
It returns ok. But the gamepad is still on(by XInputGetState).
And next I create device by WdfChildListAddOrUpdateChildDescriptionAsPresent. It returns STATUS_OBJECT_NAME_EXISTS.
Only restart the system can return to normal.

I am a kmdf new learner and am very interested in these issues.
Any suggestions would be useful. Thank you.

Comments

  • Doron_HolanDoron_Holan Member - All Emails Posts: 10,458

    UpdateAsMissing is an async operation. It queues a query request to the kernel pnp subsystem so that pnp asks the driver about its children. This query requires the kernel pnp state lock and usually arrives immediately (because it can acquire the lock). If the query is not coming, there is another stateful pnp operation that the child query is stuck behind. You need to find that stateful pnp operation. In my experience, it is usually your own driver that is blocking the stateful pnp operation from completing. You should look at all the other active threads where your driver is in the stack and see if that is the case.

    d
Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Upcoming OSR Seminars
OSR has suspended in-person seminars due to the Covid-19 outbreak. But, don't miss your training! Attend via the internet instead!
Kernel Debugging 30 Mar 2020 OSR Seminar Space
Developing Minifilters 20 Apr 2020 LIVE ONLINE
Writing WDF Drivers 11 May 2020 LIVE ONLINE
Internals & Software Drivers 28 Sept 2020 Dulles, VA