Performing Device-Specific Idle Detection

Instead of using the power manager's idle detection routines, a driver can perform its own idle detection based on device-specific criteria.

Such a driver should put its idle device in the lowest possible sleep state that is valid for the current system power state. To do so, the driver requests a power IRP (PoRequestPowerIrp) with minor IRP code IRP_MN_SET_POWER, specifying the device power state to which the device should transition.