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);
              }
          }
    }

  • 相关阅读:
    获取子进程的是否在线
    python基础知识(二)
    Linux入门50指令
    LInux升级Python版本2.7.11所遇问题汇总
    java开发(1)
    winfrom 水晶报表制作
    asp.net Dock布局开发设置
    winform 窗体最大化事件
    C# 委托于跨线程异步调用
    asp.net-html图片的上传
  • 原文地址:https://www.cnblogs.com/answer/p/1956254.html
Copyright © 2011-2022 走看看