---
title: controllerDidChangePowerState
framework: kernel
role: pseudoSymbol
path: kernel/ioethernetinterface/1810626-controllerdidchangepowerstate
---

# controllerDidChangePowerState

Handles a notification that the network controller servicing this interface object has transitioned to a new power state.

## Declaration

```occ
virtual IOReturn controllerDidChangePowerState( 
 IONetworkController *controller, 
 IOPMPowerFlagsflags, 
 UInt32stateNumber, 
 IOService *policyMaker); 
```

## Parameters

- `controller`: The network controller object.
- `flags`: Flags that describe the capability of the controller in the new power state.
- `stateNumber`: An index to a state in the network controller's power state array that the controller has switched to.
- `policyMaker`: A reference to the network controller's policy-maker, and is also the originator of this notification.

## Return Value

Return Value Always returns kIOReturnSuccess.

## Overview

Overview If the controller did transition to a usable state, and it was previously disabled due to a previous power change, then it is re-enabled.

## See Also

### Miscellaneous

- [controllerDidOpen](kernel/ioethernetinterface/1810636-controllerdidopen.md)
- [controllerWillChangePowerState](kernel/ioethernetinterface/1810670-controllerwillchangepowerstate.md)
- [controllerWillClose](kernel/ioethernetinterface/1810684-controllerwillclose.md)
- [free](kernel/ioethernetinterface/1810696-free.md)
- [getNamePrefix](kernel/ioethernetinterface/1810711-getnameprefix.md)
- [init](kernel/ioethernetinterface/1810722-init.md)
- [performCommand](kernel/ioethernetinterface/1810736-performcommand.md)
