WINCE的电源办理不光供给了对设备驱动的接口,也供给了对应用程序的接口。也就是说应用程序能够经过这些接口操控电源办理模块来办理设备和体系的电源状况。
有两个方法来操控电源。第一个方法是应用程序给定一个电源设定。第二个方法是应用程序恳求电源状况不要低于给定的等级。
第一种方法以下几种API:
GetSystemPowerState()
SetSystemPowerState()
GetDevicePower()
SetDevicePower()
第二种方法的API:
SetPowerRequirement()
ReleasePowerRequirement()
第二种机制为应用程序供给了强壮的才干操控电源办理器调整设备的电源等级,与其他一切的电源设置比较,它具有很高的优先级。举例来说,假定有一个条形码阅读器连接在COM1端口,而且COM1只要在最高电源等级(D0)时才干驱动这个条形码阅读器。为了使其正常作业,应用程序将调用SetPowerRequirement把COM1指定D0状况。假定之后串口驱动本身决议下降一个电源等级,驱动调用DevicePowerNotify告诉电源办理器它希望的设备电源状况,驱动程序的这个恳求将不起作用,直到应用程序调用ReleasePowerRequirement停止。持续这个比如,假定这时的体系电源状况转换为低能耗等级,尽管与之相关的COM1电源等级为D3,因为应用程序的电源恳求,COM1将持续维持在D0状况。
在调用SetPowerRequirement函数时,指定POWER_FORCE标志将强制设备不进入休眠状况,即便这时体系已处于休眠状况。