[nik] Remote Display driver under Windows 8

I am porting an existing mirror driver to be a remote driver so it can function under windows 8. The driver successfully loads, and get GDI updates for the primary screen. However when I try to change area to mirror to be the second display it seems I continue to get only updates for the primary display? The DevMode structure is updated correctly, including the correct dmPosition values. Even though it is defining the region of the second display I get GDI updates for the primary screen. This code works up until windows 7, so is there something additional/different that needs to be done in the bitmap association to the surface? Maybe a change to how the surface is created?

I am testing right now on a laptop with a Nvidia Quadro NVS chip, using WDDM 1.2 drivers. Am I running into a quirk with how the NVidia driver represents the desktop?

My user mode application first calls ChangeDisplaySettingsEx with the updated DEVMODE structure and CDS_UPDATEREGISTRY | CDS_RESET | CDS_GLOBAL. The again with all NULL’s. The DEVMODE is retrieved from the display I am trying to mirror, and dmDeviecName is zeroed out, and dmFields is set to DM_BITSPERPEL | DM_PELSWIDTH | DM_PELSHEIGHT | DM_POSITION.

In the display driver, DrvGetModes is defined but does not really do anything since I am not supporting mode change.

Any insight would be greatly appreciated.

Thanks,
Nik