Re: Different interfaces for display driver power management? CE6.0 by Tom
Tom
Fri Jun 06 11:55:04 PDT 2008
GPE:PowerHander was was used prior to Windows CE .NET 4.2 to handle
calls to the DrvPowerHandler entry point. These are now obsolete.
The true display power management interface is via the IOCTL_POWER_*
codes. The IOCTL_POWER_SET message tells the display driver what
power state it is requested to enter.
SETPOWERMANAGEMENT / GETPOWERMANAGEMENT escape codes are for
applications or other system components that may want to put the
display driver into a specific power mode. They will not be invoked
unless an app or driver on your system does so specifically.
Typically, the display driver maps the VideoPower states to
appropriate display driver power states and the driver calls
DevicePowerNotify to request that the Power Manager put the display
into that power state.
Tom
On Fri, 6 Jun 2008 08:06:14 -0700 (PDT), "Andrew at Plextek
(www.plextek.co.uk)" <ams@plextek.com> wrote:
>There appears to be three different interfaces available for power
>managing a display driver:
>
>1. The full power manager interface through IOCTL_POWER_CAPABILITIES,
>etc. (advertised on driver initialisation through the PMCLASS_DISPLAY
>GUID)
>
>2. A second quite similar interface, specific to display drivers,
>implemented through the escape codes SETPOWERMANAGEMENT /
>GETPOWERMANAGEMENT
>
>and
>
>3. The very basic on/off interface which is exposed through
>GPE::PowerHandler().
>
>Am I right in thinking that if my driver implements full power
>management (i.e. option 1 above) then I don't need to bother with the
>other two interfaces?
>
>I could obviously implement the other interfaces as wrappers for my
>full power management interface, but is this just redundant coding and
>will it ever be called? In fact, which module uses these other
>interfaces?
>
>Thanks,
>Andrew.