WM/WINCE代码研读系列之 Power Management(3)

二、Power Management's Functions

我们可以在PM.def里面看到以下14个函数
系统电源管理相关:
PmSetSystemPowerState    ------   设置系统电源状态
PmGetSystemPowerState    ------   得到系统电源状态
设备电源管理相关:
PmDevicePowerNotify          ------    要求设备电源状态,设置pds->lastReqDx
PmSetDevicePower              ------    设置设备电源状态,设置pds->setDx
PmGetDevicePower              ------    得到设备电源状态
PmSetPowerRequirement     ------    设置设备电源需求,设置设备电源的最小值
PmReleasePowerRequirement    ------    释放设备电源需求,释放设备电源的最小值
PmRegisterPowerRelationship    ------    当总线驱动或者代理电源管理器要截获驱动与电源管理模块之间的IOCTL命令字时,应当调用此函数。也就是说,该设备的电源管理被代理了。
PmReleasePowerRelationship     ------   结束前一函数设置的电源管理代理关系
消息通知:
PmRequestPowerNotifications     ------     注册电源管理的通知事件
PmStopPowerNotifications           ------     撤消拦截来自电源管理模块的电源管理回调消息
其它:
PmInit      ------      PM.dll的初始化函数
PmNotify  ------       DLL_PROCESS_DETACH时调用以释放资源
PmPowerHandler    ------    Resuming时的处理


下面我们就这些函数一个个的注释讲解:

三、PmSetSystemPowerState
当我们调用SetSystemPowerState最终会调用到PM.dll里的PmSetSystemPowerState函数。
系统电源状态会决定所有power-manageable设备驱动的最大的电源级别。
当然,这个函数也不是什么状态都能设置的。如前面所说的BacklightOff ,Resuming,Unattended这三个状态是不可以被设置的。
PmSetSystemPowerState(LPCWSTR pwsState, DWORD dwStateHint, DWORD dwOptions)
psState        ------     指向包含要设置的系统电源状态名字的字符串
StateFlags   ------      这个参数是可选的,如果psState=NULL则要设置的系统电源状态由StateFlags 决定。
Options        ------     这个POWER_FORCE标志位表示状态转换是紧急的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值