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 ( 是,) 是預設) 。
/所有
指定所有事件都應該記錄 (SetThreadExecutionState、 RegisterSystemState、 SetSystemState) 。
/使用者
指定應該記錄所有使用者事件 (SetThreadExecutionState) 。
/內核
指定只有核心模式事件應該記錄 (RegisterSystemState、 SetSystemState) 。
/閒置
記錄閒置統計資料。
範例
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) 。 |