zoukankan      html  css  js  c++  java
  • [转]WM/WINCE代码研读系列之Power Management(4)

    下面是PmSetSystemPowerState函数的详细内容

    PmSetSystemPowerState
    {
        PlatformSendSystemPowerState
        {
            SendSystemPowerState
            {
                  PlatformMapPowerStateHint;   //将StateFlags转化成电源状态名
                  {
                            对应关系如下:
                            POWER_STATE_ON -- _T("on");
                            POWER_STATE_IDLE -- _T("screenoff");
                            POWER_STATE_SUSPEND -- _T("suspend");
                            POWER_STATE_OFF -- _T("suspend");
                            POWER_STATE_CRITICAL -- _T("suspend");
                            POWER_STATE_RESET -- _T("reboot");
                            POWER_STATE_USERIDLE -- _T("useridle");
                    }
     
                    //下面两个函数由要设置的电源状态名得到相应的对象指针
                    SystemStateToActivityState
                    GetStateObject
     
                    AppsCanRequestState           //判断要设置的电源状态是否可以被设置
                    if((dwOptions & POWER_DUMPDW)!=0)
                    {
                              //Options 参数带POWER_DUMPDW 时会产生Dr. Watson dump file.
                              CaptureDumpFileOnDevice; 
                     }
                     pNewPowerState->EnterState();//这里是实质的设置函数
     
                     //将电源状态的状态机转至设置的系统电源状态
                     pNewPowerState = SetSystemState(pNewPowerState);
                     m_pCurPowerState = pNewPowerState;
     
                 //将ResumingSuspendTimeout,SuspendTimeout,BacklightTimeout,UserIdleTimeout这几个定时器复位
                     ReInitTimeOuts(FALSE);
     
                    //通知PowerStateManager::ThreadRun,这里没有做实质性内容
                    SetEvent(m_hSystemApiCalled);
              }
          }
    }

  • 相关阅读:
    FineUI官方论坛出现空白页的解决办法!
    【三石jQuery视频教程】03.创建垂直时间表(Timeline)
    【三石jQuery视频教程】02.创建 FontAwesome 复选框和单选框
    【三石jQuery视频教程】01.图片循环展示_再次重发
    【三石jQuery视频教程】01.图片循环展示
    FineUI小技巧(7)多表头表格导出
    FineUI(专业版)实现百变通知框(无JavaScript代码)!
    FineUI(专业版)v1.2.0 和 FineUI(开源版)v4.1.1 同时发布!
    FineUI(专业版)新增 5 款 Metro 皮肤,邀您共赏!
    FineUI(专业版)公测版发布(这速度,真TM快!)
  • 原文地址:https://www.cnblogs.com/answer/p/1956254.html
Copyright © 2011-2022 走看看