Supporting monitor hotplug in xddm

I’m working on an xddm driver and would like to support monitor hotplug. I’m at the point where I need to have the miniport somehow signal to the GDI to call into the display driver to reenumerate PDEVs once the miniport sees a change in monitors. VideoPortEnumerateChildren appears to be what I want to use, but it does not seem to trigger this behavior. It’s entirely possible my code still has some bugs in this area that I need to work out, but it would be really nice to know if I’m on the right track.

I was hoping someone with more xddm experience than I could point me in the right direction.

Thanks!

Chris

On Wed, Oct 21, 2015 at 10:00 AM, wrote:

> VideoPortEnumerateChildren

VideoPortEnumerateChildren will do the right thing but you have to
implement HwGetVideoChildDescriptor correctly.That said, we settled on a
fixed number of displays (2) and could never manage to convince xp to fully
support hotplug without a service agent in user mode to manage the actual
status of those displays.

Mark Roddy

On Wed, Oct 21, 2015 at 5:17 PM, Mark Roddy wrote:

> VideoPortEnumerateChildren will do the right thing but you have to
> implement HwGetVideoChildDescriptor correctly.That said, we settled on a
> fixed number of displays (2) and could never manage to convince xp to fully
> support hotplug without a service agent in user mode to manage the actual
> status of those displays.
>

I have HwGetVideoChildDescriptor implemented and I can see my monitor
devices enumerated in device manager with the EDID information, so I’m
pretty confident that’s working. I’d be fine with implementing a simple
service agent if that’s the only way, though obviously I would prefer to
have that functionality contained in the driver.

Thanks for the input!