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) 。

<顯示器>

如果進程要求顯示 (ES_DISPLAY_REQUIRED) 或未 (FALSE) ,則表示 (TRUE) 。

<AwayMode>

指出如果進程要求啟用 (ES_AWAYMODE_REQUIRED) 或未 (FALSE) ,則 (TRUE) 。

PwrTest 語法