PoRegisterForEffectivePowerModeNotifications 関数 (wdm.h)
PoRegisterForEffectivePowerModeNotifications 関数は、有効な電源モード変更通知を受け取るコールバックを登録します。
構文
NTSTATUS PoRegisterForEffectivePowerModeNotifications(
ULONG Version,
PPO_EFFECTIVE_POWER_MODE_CALLBACK Callback,
PVOID Context,
PO_EPM_HANDLE *RegistrationHandle,
PDEVICE_OBJECT DeviceObject
);
パラメーター
Version
呼び出し元が認識する最大有効電源モード バージョンを提供します。 有効な電源モードが新しいバージョンから取得された場合は、互換性のあるバージョンにマップされ、コールバックに渡されます。
次の値を渡すことができます。
EFFECTIVE_POWER_MODE_V1は、Windows 10 Version 1809以降で使用でき、パフォーマンス電源スライダーと省電力状態を追跡します。
EFFECTIVE_POWER_MODE_V2は、Windows 10 バージョン 1903 以降で使用でき、パフォーマンス電源スライダー、バッテリー セーバー、ゲーム モード、Windows Mixed Reality の電源状態を追跡します。
Callback
有効な電源モードが変更されたときに呼び出すコールバックへのポインター。 これは、登録時に 1 回呼び出され、現在のモードが提供されます。 複数のコールバックが登録されている場合は、それらのコールバックを同時に呼び出すことができます。
Context
呼び出し元指定の不透明なコンテキスト。
RegistrationHandle
これは、登録へのハンドルを受け取る変数へのポインターです。 このハンドルを使用して、コールバック関数の登録を解除できます。
DeviceObject
これは省略可能なパラメーターであり、指定した場合は、指定されたデバイス コンテキストを使用して (ドライバーからなど) 登録済みのコールバックを提供します。
戻り値
呼び出 しが 成功した場合S_OK (ゼロ) を返し、呼び出しが失敗した場合は 0 以外の値を返します。
注釈
登録直後に、電源設定の現在の値を使用してコールバックが呼び出されます。 電源モードの変更中に登録が発生した場合は、複数のコールバックを受け取る可能性があります。 最後のコールバックは最新の更新です。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 11バージョン 24H2 |
Header | wdm.h (Wdm.h を含む) |
Library | NtosKrnl.lib |
[DLL] | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |