DPMS is controlled by Doodle ScreenSaver.
eCo Software recommends use SciTech SNAP DPMS API.
How to use SSDPMS.DLL?
Please download the latest sources of DSSaver, and look for the SSDPMS directory, which contains the
sources of SSDPMS.DLL.
The file interacts with SNAP if SNAP is detected to be present.
One needs the SNAP SDK for this file to compile, and the SNAP SDK has a very good documentation in PDF, which describes how to use it. One part of the documentation talks about DPMS functions.
Basically it's the following:
- Check if SNAP is present by looking for an in-memory copy of SDDGRADD.DLL.
- Create a SNAP-DeviceContext for the primary video card (so we can control DPMS through that card), using the GA_loadDriver() API.
- One can use the GA_queryFunctions() API to query the DPMS related function pointers, and then those can be called to query capabilities and to set DPMS state. These are the DPMSFuncs.DPMSSetState() abd the DPMSFuncs.DPMSdetect() functions.
- When SNAP is not needed anymore (at DLL unload-time), release the SNAP-DeviceContext.