PoRegisterSystemState 関数 (ntifs.h)
PoRegisterSystemState ルーチンは、特定のアクティビティが原因でシステムをビジーとして登録します。
構文
PVOID PoRegisterSystemState(
[in, out] PVOID StateHandle,
[in] EXECUTION_STATE Flags
);
パラメーター
[in, out] StateHandle
登録状態ハンドルの呼び出し元が指定したバッファーへのポインター。 バッファーのサイズ (バイト単位) は です sizeof(ULONG)
。 NULL の場合、これは新しい登録です。 NULL 以外の場合、このパラメーターは 、PoRegisterSystemState の以前の呼び出しによって返されたハンドルを指します。
[in] Flags
次の値の 1 つ以上のビットごとの OR で指定されたアクティビティの種類を示します。
値 | 意味 |
---|---|
ES_SYSTEM_REQUIRED | 見かけ上の負荷に関係なく、システムはアイドル状態ではありません。 |
ES_DISPLAY_REQUIRED | ディスプレイの使用が必要です。 |
ES_USER_PRESENT | ユーザーが存在します。 |
ES_CONTINUOUS | 設定は継続的であり、明示的に変更されるまで有効なままにする必要があります。 |
戻り値
PoRegisterSystemState は、後でシステムビジー状態を変更または登録解除するために使用するハンドルを返します。 ハンドルを割り当てられなかった場合は NULL を返します。
注釈
PoRegisterSystemState は、フラグで示されているように、システムビジー状態を登録します。 登録は、呼び出し元が PoRegisterSystemState の別の呼び出しで明示的に変更するか、 PoUnregisterSystemState の呼び出しで取り消すまで保持されます。
Flags パラメーターは、進行中のアクティビティの種類を指定します。 ドライバーは、フラグの任意の組み合わせを指定できます。
ES_CONTINUOUS設定すると、ドライバーが PoRegisterSystemState または PoUnregisterSystemState を呼び出して明示的に変更または取り消されるまで、ビジー状態が保持されます。
ドライバーは、システムビジー状態を設定して、ドライバーアクティビティの実行中にシステムの電源状態がシステム動作状態 (S0) から切り替わるのを防ぐよう電源 マネージャー に要求できます。 ただし、一部の状況 (非常に低いバッテリなど) では、電源マネージャーがこの要求をオーバーライドし、システムをスリープ状態にすることがあります。
システムの電源状態を設定するには、 PoSetSystemState を呼び出します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 |
対象プラットフォーム | ユニバーサル |
Header | ntifs.h (Wdm.h、Ntddk.h、Ntifs.h を含みます) |
Library | NtosKrnl.lib |
[DLL] | NtosKrnl.exe |
IRQL | <=APC_LEVEL |