POWER MANAGEMENT

A Compact 7 device may or may not implement power management depending upon its purpose and upon the target hardware. For example, a handheld device or mobile phone would need to implement power management, whereas an always-on mains powered home climate control system need not. Power management can reduce the power consumption of a device by shutting down hardware or by putting it in a low power state. The CPU clock speed can be scaled down or even stopped if the CPU and memory can maintain state when the CPU is in this state. Also, with multicore CPUs, Compact 7 permits the shutting down of cores to save power.

Devices can also support power management by supporting all or some of the device power states. If they do, as the system changes state, they can do so as well. To do so they may implement the Stream Driver power functions (XXX_PowerUp or XXX_PowerDown) or implement the system power management IOCTLs. The recommended method is the IOCTLs.

Power Management Interface

This interface is a standard set of IOCTLs that a driver can implement, as shown in Table 32-6.

TABLE 32-6: Power Management Interface IOCTLs

POWER MANAGEMENT IOCTL FUNCTION DESCRIPTION
IOCTL_POWER_CAPABILITIES Checks device-specific capabilities.
IOCTL_POWER_GET Gets the current device power state.
IOCTL_POWER_SET Requests a change from one device power state to another.
IOCTL_REGISTER_POWER_RELATIONSHIP Notifies the parent device so that the parent device can register all the ...

Get Professional Windows® Embedded Compact 7 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.