📄 windows ce 电源管理 - 王朝网络 - wangchao_org.htm
字号:
一个应用程序通过调用函数SetSystemPowerState可以请求特定的电源状态。这个函数原型如下。 DWORD
SetSystemPowerState (LPCWSTR psState, DWORD StateFlags, DWORD Options);
电源状态可以被请求通过指定前两个参数。如果第一个参数是非零值,它指向一个字符串标识被请求的状态。这个字符串必须和注册表中列出的电源状态之一相匹配。如果psState
为
NULL,第二个参数StateFlags,定义了请求的电源状态。这个参数是从POWER_STATE_ON直到POWER_STATE_RESET状态其中之一,这些在前面提到的POWER_BROADCAST结构有描述。比较特别的是POWER_STATE_RESET标志。这个标志请求系统重起,使用SetSystemPowerState的方法重起比通过直接使用IOCTL_HAL_REBOOT命令来调用KernelIoControl的方法更好。调用
SetSystemPowerState
会让系统在重起设备之前任何还在缓冲中的数据保存到文件系统。调用SetSystemPowerState是一个直接改变电源状态的方法。更巧妙的方法是通过调用SetPowerRequirement来请求系统维持应用程序所需最低限度的电源状态。SetSystemPowerState是假定应用程序知道所需状态,而调用SetPowerRequirement是允许系统对电源设定做优化以满足应用程序的需要。一个使用SetPowerRequirement会比较方便的例子是,一个使用串口的应用程序需要串口在进行通信时保持住电源状态。SetPowerRequirement被定义如下。
HANDLE SetPowerRequirement (PVOID pvDevice, CEDEVICE_POWER_STATE
DeviceState, ULONG DeviceFlags, PVOID pvSystemState, ULONG StateFlags);
第一个参数指定了应用程序需要维护电源状态的设备。DeviceState参数定义了设备的电源状态。CEDEVICE_POWER_STATE指定了状态范围是从D0(意味着设备是处于最大功耗状态)到D4(表示设备被关闭)(译者注:其实D0到D4的状态的具体表现,完全是由OEM厂商可自定义的,对应用程序开发者来说,比如是在D1关LCD背光还是在D2,都是不确定的,微软只给出标准定义,而不是实际定义)。DeviceFlags参数由两个标志合并而成:POWER_NAME,表示设备名有效;POWER_FORCE,表示设备应当维持当前状态甚至当系统挂起时。如果pvSystemState不为NULL,它表示只有对于在pvSystemState中已命名的电源请求才是有效的。设备可能无法更改请求的状态。应用程序应当注销通过调用ReleasePowerRequirement来注销请求,原型如下。
DWORD ReleasePowerRequirement (HANDLE hPowerReq);
这里唯一的参数是从SetPowerRequirement里返回的句柄。在下一章,我将就Windows
CE流设备驱动和服务,继续探讨有关系统的问题。尽管大多数应用程序开发者可能不需要写一些设备驱动或服务,但是知道它们是如何和程序一起工作对我们也是有启发的。让我们一起来看一看吧。</P></DIV>
<SCRIPT>document.getElementById("ubbcontent").style.display="none";</SCRIPT>
<DIV style="CLEAR: both"> </DIV>
<DIV style="CLEAR: both; COLOR: #ff0000" align=left>标签: <A
style="FONT-SIZE: 14px"
href="http://search.wangchao.net.cn/index.jsp?searchstr=CE"
target=_blank>CE</A> <A style="FONT-SIZE: 14px"
href="http://search.wangchao.net.cn/index.jsp?searchstr=Windows"
target=_blank>Windows</A> <A style="FONT-SIZE: 14px"
href="http://search.wangchao.net.cn/index.jsp?searchstr=%E7%94%B5%E6%BA%90%E7%AE%A1%E7%90%86"
target=_blank>电源管理</A> </DIV>
<DIV
style="CLEAR: both; BORDER-TOP: #dddddd 1px dashed; PADDING-BOTTOM: 4px; PADDING-TOP: 4px"
align=left><A
href="http://www.wangchao.org/bbsdetail_837881.html#t">上一帖《Windows下将linux启动代码写入磁盘》</A> <A
href="http://www.wangchao.org/bbsdetail_837879.html#t">下一帖《Template和JSP技术》</A></DIV><A
name=copy></A>
<DIV> </DIV>
<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
<TBODY>
<TR align=middle>
<TD>
<TABLE cellSpacing=5 cellPadding=0 border=0>
<TBODY>
<TR>
<TD colSpan=2><FONT color=#ff0000>您可以将本页贴到其他网站</FONT></TD></TR>
<TR align=left>
<TD><INPUT class=check onclick="changecode('ubbcontent');"
type=radio CHECKED name=bbscode>UBB代码</TD>
<TD><INPUT class=check onclick="changecode('content');"
type=radio name=bbscode>HTML代码</TD></TR>
<TR align=middle>
<TD colSpan=2><IMG style="CURSOR: pointer"
onclick=copyborad();
src="Windows CE 电源管理 - 王朝网络 - wangchao_org.files/copy.gif"
border=0></TD></TR>
<TR>
<TD colSpan=2>
<DIV id=message
style="COLOR: #ff0000"> </DIV></TD></TR></TBODY></TABLE></TD>
<TD><TEXTAREA id=BBSText onclick=this.select(); name=BBSText rows=6 wrap=virtual cols=80></TEXTAREA>
<SCRIPT>changecode();</SCRIPT>
</TD></TR></TBODY></TABLE>
<DIV> </DIV>
<DIV style="BORDER-TOP: #dddddd 1px dashed; PADDING-TOP: 5px" align=left>
<TABLE cellSpacing=0 cellPadding=0 border=0>
<TBODY>
<TR>
<TD><SPAN style="FONT-SIZE: 14px; COLOR: red"> 相关文章</SPAN> </TD>
<TD>
<DIV id=ad_text_1></DIV></TD></TR></TBODY></TABLE>• <A
href="http://www.wangchao.org/bbsdetail_1014861.html">最新Viking(维金)病毒专杀工具,纯VB编写。</A><BR>• <A
href="http://www.wangchao.org/bbsdetail_1014860.html">最新Viking(维金)病毒专杀工具,纯VB编写。
(代码续)</A><BR>• <A
href="http://www.wangchao.org/bbsdetail_1014859.html">提高MySQL
查询效率的三个技巧</A><BR>• <A
href="http://www.wangchao.org/bbsdetail_1014248.html">用DataSet.ReadXml读取无Scheme的XML提速方法</A><BR>• <A
href="http://www.wangchao.org/bbsdetail_1013318.html">将ASP纪录集输出成n列的的表格形式显示的方法</A><BR></DIV>
<DIV id=ad_bottom_1><IMG
src="Windows CE 电源管理 - 王朝网络 - wangchao_org.files/group101.gif"
border=0></DIV>
<DIV> </DIV>
<DIV align=left>
<DIV id=ad_qihoo_21><IMG
src="Windows CE 电源管理 - 王朝网络 - wangchao_org.files/group101.gif"
border=0></DIV></DIV><BR></DIV></TD></TR>
<TR>
<TD align=left width=150 bgColor=#ffffff> 2007-02-01 20:11:17</TD>
<TD vAlign=bottom align=right bgColor=#ffffff></TD></TR></TBODY></TABLE>
<DIV> </DIV>
<DIV> </DIV>
<TABLE style="FONT-SIZE: 12px" cellSpacing=1 cellPadding=0 width=950
bgColor=#dddddd border=0>
<TBODY>
<TR>
<TD style="COLOR: red" vAlign=bottom align=left bgColor=#ffffff colSpan=4
height=24> <B>更多内容</B></TD></TR>
<TR>
<TD align=left bgColor=#ffffff height=25> ·<A
href="http://www.wangchao.org/bbsdetail_837879.html">Template和JSP技术</A></TD>
<TD align=left bgColor=#ffffff height=25> ·<A
href="http://www.wangchao.org/bbsdetail_837878.html">JVM,反射与动态代理</A></TD>
<TD align=left bgColor=#ffffff height=25> ·<A
href="http://www.wangchao.org/bbsdetail_837877.html">Jsp+JavaBean循序渐进教程(六)</A></TD>
<TD align=left bgColor=#ffffff height=25> ·<A
href="http://www.wangchao.org/bbsdetail_837876.html">在vb中实现超连接的方法!和直接</A></TD></TR>
<TR>
<TD align=left bgColor=#ffffff height=25> ·<A
href="http://www.wangchao.org/bbsdetail_837875.html">字符指针和字符数组</A></TD>
<TD align=left bgColor=#ffffff height=25> ·<A
href="http://www.wangchao.org/bbsdetail_837874.html">Delphi中实现可以更改大小的对话</A></TD>
<TD align=left bgColor=#ffffff height=25> ·<A
href="http://www.wangchao.org/bbsdetail_837873.html">Jsp,JavaBean,Mysql的连接方法</A></TD>
<TD align=left bgColor=#ffffff height=25> ·<A
href="http://www.wangchao.org/bbsdetail_837393.html">DTS参数传递示例</A></TD></TR>
<TR>
<TD align=left bgColor=#ffffff height=25> ·<A
href="http://www.wangchao.org/bbsdetail_837392.html">前K条最短路径算法</A></TD>
<TD align=left bgColor=#ffffff height=25> ·<A
href="http://www.wangchao.org/bbsdetail_837391.html">在下拉列表框中显示树状结构</A></TD>
<TD align=left bgColor=#ffffff height=25> ·<A
href="http://www.wangchao.org/bbsdetail_837390.html">Windows编译环境下的Linux启动代</A></TD>
<TD align=left bgColor=#ffffff height=25> ·<A
href="http://www.wangchao.org/bbsdetail_837389.html">ASP内置的对象</A></TD></TR>
<
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -