PoRegisterSystemState 函式 (ntifs.h)

PoRegisterSystemState 例程會因為特定活動而將系統註冊為忙碌中。

語法

PVOID PoRegisterSystemState(
  [in, out] PVOID           StateHandle,
  [in]      EXECUTION_STATE Flags
);

參數

[in, out] StateHandle

註冊狀態句柄之呼叫端所提供緩衝區的指標。 緩衝區的大小,以位元組為單位為 sizeof(ULONG)。 如果為 NULL,則這是新的註冊。 如果為非 NULL,此參數會指向先前呼叫 PoRegisterSystemState 所傳回的句柄。

[in] Flags

指出活動類型,如下列一或多個值的位 OR 所指定:

意義
ES_SYSTEM_REQUIRED 不論明顯的負載為何,系統都不會閑置。
ES_DISPLAY_REQUIRED 需要使用顯示器。
ES_USER_PRESENT 使用者存在。
ES_CONTINUOUS 這些設定是連續的,而且應該維持有效狀態,直到明確變更為止。

傳回值

PoRegisterSystemState 會傳回句柄,以供稍後用來變更或取消註冊系統忙碌狀態。 如果無法配置句柄,它會傳回 NULL。

備註

PoRegisterSystemState 會註冊系統忙碌狀態,如旗標所指出。 註冊會持續存在,直到呼叫端以另一個 對 PoRegisterSystemState 的呼叫來明確變更它,或使用 對 PoUnregisterSystemState 的呼叫取消。

Flags 參數會指定進行中的活動類型。 驅動程式可以指定旗標的任何組合。

設定ES_CONTINUOUS讓忙碌狀態持續存在,直到驅動程式藉由呼叫 PoRegisterSystemStatePoUnregisterSystemState 明確變更或取消它為止。

驅動程式可以將系統忙碌狀態設定為要求 電源管理員 避免系統電源狀態在發生驅動程式活動時,從系統工作狀態轉換 (S0) 。 不過,請注意,在某些情況下, (例如,電源管理員) 可能會覆寫此要求,並讓系統繼續睡眠。

若要設定系統電源狀態,請呼叫 PoSetSystemState

規格需求

需求
最低支援的用戶端 Windows 2000
目標平台 Universal
標頭 ntifs.h (包括 Wdm.h、Ntddk.h、Ntifs.h)
程式庫 NtosKrnl.lib
Dll NtosKrnl.exe
IRQL <=APC_LEVEL

另請參閱

PoSetSystemState

PoUnregisterSystemState