PwrTest 执行状态方案

PwrTest 执行状态方案 (/es) 监视当前正在运行的进程和服务的线程执行状态更改。

注意 此 PwrTest 执行状态方案主要用于使用旧版电源请求 API 的应用程序,例如 SetThreadExecutionState 函数 (Windows) ) 。 若要监视使用较新的电源请求 API(例如 PowerSetRequest 函数)的应用程序 (Windows) 请改用 PwrTest 请求方案

应用程序和服务可以通过更改其线程执行状态来暂时替代电源管理设置,例如监视器和睡眠空闲超时。 PwrTest 执行状态方案监视应用程序和服务使用 Win32 SetThreadExecutionState 函数 (Windows) 执行的线程执行状态和系统状态更改。

可以将 /es 方案与 PwrTest 空闲方案 一起使用,以帮助识别阻止监视器或系统进入空闲状态的应用程序和服务。

语法

pwrtest /es  [/t:n] [/stes:{y|n}] [/rss:{y|n}] [/sss:{y|n}] [/all] [/user] [/kernel] [/idle] [/?] 

/t:n
指定方案运行的总时间 () 分钟, (n 的默认值为 30 分钟) 。

/stes:{y|n}
指定是否应记录 SetThreadExecutionState 事件 (y (是) 为默认) 。

/rss:{y|n}
指定是否应记录 RegisterSystemState 事件 (y (是) 为默认) 。

/sss:{y|n}
指定是否应记录 SetSystemState 事件 (y (是) 默认) 。

/所有
指定应 (SetThreadExecutionStateRegisterSystemStateSetSystemState) 记录所有事件。

/用户
指定应 (SetThreadExecutionState) 记录所有用户事件。

/内核
指定应仅记录 (RegisterSystemStateSetSystemState) 内核模式事件。

/闲置
记录空闲统计信息。

示例

pwrtest /es /all
pwrtest /es /user
pwrtest /es /kernel
pwrtest /es /kernel /sss:n
pwrtest /es /kernel /rss:n
pwrtest /es /kernel /rss:y /sss:n
pwrtest /es /sss:n
pwrtest /es /rss:n /sss:n
pwrtest /es /stes:n 
pwrtest /es /all /idle 

XML 日志文件输出

<PwrTestLog>
  <SystemInformation>
  </SystemInformation>
  <ExecutionState> 
    <EsChange> 
      <Time>XX:XX:XX</Time>
      <Process></Process>
        <RawState></RawState>
        <Continuous></Continuous>
        <System></System>
        <Display></Display>
        <AwayMode></AwayMode>
    </EsChange> 
    <EsChange> 
      <Time>XX:XX:XX</Time>
      <Process></Process>
        <RawState></RawState>
        <Continuous></Continuous>
        <System></System>
        <Display></Display>
        <AwayMode></AwayMode>
    </EsChange> 
  </ExecutionState>
</PwrTestLog> 

下表描述了日志文件中显示的 XML 元素。

元素 说明
<ExecutionState>

包含执行状态方案相关的信息。 PwrTest 日志文件中只能 <有一个 ExecutionState> 元素。

<EsChange>

包含与单线程执行状态更改事件相关的信息。 将有一个 <EsChange> 元素。

<时间>

指示发生执行状态更改事件的时间。

<过程>

指示请求了执行状态更改的进程的映像文件的路径。

<RawState>

指示请求执行状态。 这是一个类型为 32 位的值,EXECUTION_STATE (请参阅 Windows.h) 。

<连续>

指示进程是否请求了连续的执行状态更改 (ES_CONTINUOUS)。

<系统>

指示如果进程请求系统 (ES_SYSTEM_REQUIRED) 可用或不 (FALSE) ,则指示 (TRUE) 。

<显示>

指示 (TRUE) 如果进程请求显示可用 (ES_DISPLAY_REQUIRED) 或未 (FALSE) 。

<AwayMode>

指示 (TRUE) 如果进程请求 (ES_AWAYMODE_REQUIRED) 或未 (FALSE) 启用离开模式。

PwrTest 语法