次の方法で共有


システム電源状態変更の防止

ドライバーはシステム電源ポリシーを直接設定できませんが、電源マネージャーは、ドライバーがシステムの動作状態からの遷移を防ぐことができる、PoSetSystemStatePoRegisterSystemStatePoUnregisterSystemState の 3 つのルーチンを提供します。

PoRegisterSystemState または PoSetSystemState を呼び出すことで、ドライバーは、ユーザーが存在するか、ドライバーがシステムまたはディスプレイの使用を必要とすることを電源マネージャーに通知できます。

PoRegisterSystemState を使用すると、ドライバーは連続ビジー状態を登録できます。 ドライバーが後で設定を変更できるハンドルを返します。 状態登録が有効である限り、電源マネージャーはシステムをスリープ状態にしません。 ドライバーは、PoUnregisterSystemState を呼び出して状態の登録を取り消します。

PoSetSystemState を使用すると、ドライバーは同じ条件 (ユーザーが存在する、システムが必要、ディスプレイが必要) を電源マネージャーに通知しますが、この設定は継続的ではありません。 これには、指定された条件に関連付けられているアイドル状態のカウント ダウンを再開する効果があります。

これらのルーチンを使用すると、ドライバーは、動作状態からの遷移を、すべてではなくとも多くの遷移を防ぐことができます。 電源マネージャーは、電源喪失が差し迫っている場合や、ユーザーが明示的にシャットダウンを要求した場合は常にシステムをシャットダウンします。