Powering Up a Device

When a bus driver handles a PnP IRP_MN_START_DEVICE request for one of its child devices, it should power on the device and call PoSetPowerState to report the device power state to the power manager. Powering on the device is an implicit part of device start-up. The device power policy owner does not send an IRP_MN_SET_POWER request for PowerDeviceD0, so drivers should not expect to receive these IRPs at start-up.

When a device has been powered down to conserve power, its drivers should power it up when an I/O request arrives. In this case, the device power policy owner must send an IRP_MN_SET_POWER to return the device to the working state. When the IRP completes, the drivers for the device stop queuing I/O and begin to process requests off the queue.