Power Management for Audio Devices

The PortCls system driver handles all power-management IRPs (see Handling Power IRPs) on behalf of audio adapter drivers. PortCls manages the power state of an audio device by making calls through the adapter driver's IAdapterPowerManagement and IPowerNotify interfaces. Both interfaces are optional. The adapter driver for a device that can change its power state in response to requests from PortCls should expose an IAdapterPowerManagement interface. A miniport object that requires advance warning of an impending power-down should expose an IPowerNotify interface.

In Windows Server 2003 SP1, Windows XP SP2, and later, PortCls uses timers to determine when to power down audio devices that have remained inactive for some specified time-out interval. PortCls provides default values for the time-out intervals and the target power state when a time-out occurs. Hardware vendors can optionally override these defaults with their own driver-specific values.

This section discusses the following topics:

Implementing IAdapterPowerManagement

Implementing IPowerNotify

Audio Device Class Inactivity Timer Implementation