---
title: setPowerState
framework: kernel
role: pseudoSymbol
path: kernel/ioaudiodevice/1811867-setpowerstate
---

# setPowerState

Called by the power management system in IOService when the power state of this service needs to change.

## Declaration

```occ
virtual IOReturn setPowerState(
 unsigned longpowerStateOrdinal,
 IOService *device); 
```

## Parameters

- `powerStateOrdinal`: The number of the power state as defined by the IOAudioDevice - 0 for sleep, 1 for wake.
- `device`: The power management policy maker.

## Return Value

Return Value Returns kIOPMAckImplied (0) when the power state change is complete. Otherwise the an upper bound on the number of microseconds until the state change is complete is returned.

## Overview

Overview The default implementation of IOAudioDevice sets up two power states for IOService to use. State 0 is sleep and state 1 is wake. This function should not be called directly. It is only supposed to be used by the IOService power management services.

## See Also

### Miscellaneous

- [activateAudioEngine(IOAudioEngine *)](kernel/ioaudiodevice/1811648-activateaudioengine.md)
- [activateAudioEngine(IOAudioEngine *, bool)](kernel/ioaudiodevice/1811655-activateaudioengine.md)
- [addTimerEvent](kernel/ioaudiodevice/1811662-addtimerevent.md)
- [attachAudioPort](kernel/ioaudiodevice/1811666-attachaudioport.md)
- [audioEngineStarting](kernel/ioaudiodevice/1811673-audioenginestarting.md)
- [audioEngineStopped](kernel/ioaudiodevice/1811679-audioenginestopped.md)
- [completePowerStateChange](kernel/ioaudiodevice/1811685-completepowerstatechange.md)
- [completePowerStateChangeAction](kernel/ioaudiodevice/1811692-completepowerstatechangeaction.md)
- [deactivateAllAudioEngines](kernel/ioaudiodevice/1811697-deactivateallaudioengines.md)
- [detachAllAudioPorts](kernel/ioaudiodevice/1811704-detachallaudioports.md)
- [dispatchTimerEvents](kernel/ioaudiodevice/1811710-dispatchtimerevents.md)
- [flushAudioControls](kernel/ioaudiodevice/1811716-flushaudiocontrols.md)
- [free](kernel/ioaudiodevice/1811723-free.md)
- [getCommandGate](kernel/ioaudiodevice/1811730-getcommandgate.md)
- [getPendingPowerState](kernel/ioaudiodevice/1811740-getpendingpowerstate.md)
- [getPowerState](kernel/ioaudiodevice/1811749-getpowerstate.md)
- [getWorkLoop](kernel/ioaudiodevice/1811757-getworkloop.md)
- [init](kernel/ioaudiodevice/1811765-init.md)
- [initHardware](kernel/ioaudiodevice/1811773-inithardware.md)
- [initiatePowerStateChange](kernel/ioaudiodevice/1811782-initiatepowerstatechange.md)
- [performPowerStateChange](kernel/ioaudiodevice/1811791-performpowerstatechange.md)
- [protectedCompletePowerStateChange](kernel/ioaudiodevice/1811798-protectedcompletepowerstatechang.md)
- [protectedSetPowerState](kernel/ioaudiodevice/1811807-protectedsetpowerstate.md)
- [removeAllTimerEvents](kernel/ioaudiodevice/1811813-removealltimerevents.md)
- [removeTimerEvent](kernel/ioaudiodevice/1811823-removetimerevent.md)
- [setConfigurationApplicationBundle](kernel/ioaudiodevice/1811829-setconfigurationapplicationbundl.md)
- [setDeviceCanBeDefault](kernel/ioaudiodevice/1811833-setdevicecanbedefault.md)
- [setDeviceName](kernel/ioaudiodevice/1811841-setdevicename.md)
- [setDeviceShortName](kernel/ioaudiodevice/1811844-setdeviceshortname.md)
- [setFamilyManagePower](kernel/ioaudiodevice/1811848-setfamilymanagepower.md)
- [setIdleAudioSleepTime](kernel/ioaudiodevice/1811852-setidleaudiosleeptime.md)
- [setManufacturerName](kernel/ioaudiodevice/1811862-setmanufacturername.md)
- [setPowerStateAction](kernel/ioaudiodevice/1811878-setpowerstateaction.md)
- [start](kernel/ioaudiodevice/1811891-start.md)
- [stop](kernel/ioaudiodevice/1811898-stop.md)
- [timerFired](kernel/ioaudiodevice/1811908-timerfired.md)
- [waitForPendingPowerStateChange](kernel/ioaudiodevice/1811913-waitforpendingpowerstatechange.md)
