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

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