Multiple Monitors as Independent Displays

Is there a way to use DirectX to write to a monitor on a second display adapter when the monitor is detached from the Windows (XP Pro) desktop

The MSDN library contains a topic "Using Multiple Monitors as Independent Displays" which suggests that one can use the GDI function CreateCD or the DirectX function DirectDrawCreate (now a deprecated function). What currently supported DX9 function will let me open the device and use it for DMA data transfers



Answer this question

Multiple Monitors as Independent Displays

  • David P.

    IDirect3D9_GetAdapterCount returns 2 when the Windows desktop extends onto both monitors. Alas, IDirect3D9_GetAdapterCount returns only 1 when the second monitor has been detached from the desktop.

    I am testing with the February 2006 DX SDK, installed this morning. Previously I was using DirectDraw8, which also fails to enumerate the second monitor when it is detached from the desktop.

    So, no success.

    I have seen on another website that the GDI will create a Device Context on an independent monitor even when EnumDisplayDevices fails to enumerate it, but this I expect would make the display very slow. Possibly there is some method in DirectShow.


  • AlpEren

    Have you checked if you can enumerate the second adapter with IDirect3D9::GetAdapterCount and IDirect3D9::GetAdapterIdentifier

    I must confess that I am never used a detached second adapter and don’t know if it can enumerate.

    Anyway there are no Direct3D functions that support direct data transfer from one adapter to another.



  • Ashvin Patel

    Thank you kindly for your advice. I will try it and post the outcome to this forum.
  • Multiple Monitors as Independent Displays