WEB开发网
开发学院手机开发Windows Mobile 开发 window mobile power management关于device power... 阅读

window mobile power management关于device power state的管理

 2010-08-22 13:11:00 来源:WEB开发网   
核心提示:从这个对话中,我们可以知道SetPowerRequirement()实际在设置我们的地板-floorDx,window mobile power management关于device power state的管理(3),至少是floorDx,不能更低了,这个结果就直接通过IOCTL_POWER_SET下达给设备驱动,m

从这个对话中,我们可以知道SetPowerRequirement()实际在设置我们的地板-floorDx。至少是floorDx,不能更低了。floorDx的默认值是D4,因此如果你不去call这个函数,那么就没什么限制。

至于ceilingDx

注册表HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlPower[ on | BacklightOff | Unattended | xxx ]的下面你可以定义:

"bkl1:"=D2

这样的定义,就好像你在规定:“系统在on的时候,bkl1:最高是D2”。所以bkl1:如果是D3,那么也是可以的。这实际就是在定义设备电源状态的天花板-ceilingDx。同时,如果你没有特别为某个设备指定,那么这个设备的ceilingDx就是用注册表项default的定义值。

综上,floorDx,ceilingDx,setDx,lastReqDx这四个值是power manager调度时要参考的重要参数。

设置设备的电源状态

curDx,actualDx是一对,意思非常接近。

curDx 是power manager经过调度算法,最后决定的,该设备的电源状态。可是这个状态,此设备不一定支持。设备声明自己所支持的所有状态是通过 IOCTL_POWER_CAPABILITIES做到的。因此万一不支持还需要经过mapping,那么mapping的结果就是actualDx,这个结果就直接通过IOCTL_POWER_SET下达给设备驱动。mapping的过程当然就要参考IOCTL_POWER_CAPABILITIES 了。

pendingDx和dwNumPending是用于处理竞争问题设计的计数器。

上一页  1 2 3 

Tags:window mobile power

编辑录入:coldstar [复制链接] [打 印]
赞助商链接