Changing the system state can be as simple as a cup of tea! by calling SetSystemPowerstate() API. But not all power states can be allowed to set through this API in the default cases. For example setting to “SystemIdle” using this API will be failed.
There are some use cases, we may need to set “systemIdle” through our application/driver or we may need to deny the application/driver to set some power states. Sometimes, we would like to have our own power state created and it may be allowed to set from the application/driver. To do this, we have to customize the Windows CE power manager.