If you only need the current desktop settings as a means to determine what mode to set in your game/app, then whether you're in DX mode shouldn't matter, as all you'd do (as I do) is get these settings before any graphcis mode and/or drivers are set. The DesktopExt module works a treat in this way.
I've used this on my PC (4:3 CRT) and my laptop (16:10 TFT) and my game picked the correct resolution for the aspect ratio of the monitor in use, using the depth and hertz setting of the desktop. No more defaulting to 640x480x16 @ 60hz if someone is already using a monitor capable of 32bpp and >60hz.
Of course, you may have a different reason/time for needed to check these settings after a graphics mode has been set.
I've used this on my PC (4:3 CRT) and my laptop (16:10 TFT) and my game picked the correct resolution for the aspect ratio of the monitor in use, using the depth and hertz setting of the desktop. No more defaulting to 640x480x16 @ 60hz if someone is already using a monitor capable of 32bpp and >60hz.
Of course, you may have a different reason/time for needed to check these settings after a graphics mode has been set.