次の方法で共有


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

こちらもご覧ください

PoSetSystemState

PoUnregisterSystemState