UMDF ドライバーでのシステム ウェイクアップのサポート
警告
UMDF 2 は UMDF の最新バージョンであり、UMDF 1 よりも優先されます。 すべての新しい UMDF ドライバーは、UMDF 2 を使用して記述する必要があります。 UMDF 1 には新機能が追加されておらず、Windows 10 の新しいバージョンでは UMDF 1 のサポートが制限されています。 ユニバーサル Windows ドライバーでは、UMDF 2 を使用する必要があります。
アーカイブされた UMDF 1 サンプルは、「Windows 11、バージョン 22H2 - 2022 年 5 月 ドライバーサンプルの更新」でご確認いただけます。
詳しくは、「UMDF の概要」をご覧ください。
システムが低電力状態にある間、一部のデバイスは、受信ネットワーク パケットなどの外部イベントを検出し、システムをスリープ解除できます。 たとえば、デバイスの電源管理機能 (PMC) レジスタに示されているように、PCI デバイスにシステム ウェイクアップ機能がある場合は、PCI バスで電源管理イベント (PME) 信号を発生させてシステムをスリープ解除します。
デバイスがシステム全体の低電力状態からシステムをスリープ解除できる場合、電源ポリシー所有者の IDriverEntry::OnDeviceAdd コールバック関数は、次の 2 つの手順を実行する必要があります。
IWDFDevice2::AssignSxWakeSettings を呼び出して以下を指定します。
- デバイスが入力する低電力状態
- ユーザーがデバイスのアイドル設定を制御できるかどうか
- デバイスのウェイクアップ機能が有効か無効か
デバイスに必要な場合は、IPowerPolicyCallbackWakeFromSx インターフェイスと次のイベント コールバック関数を実装します。
- IPowerPolicyCallbackWakeFromSx::OnArmWakeFromSx は、デバイス ハードウェア (バスではない) が外部ウェイクアップ イベントに応答できるようにします。
- IPowerPolicyCallbackWakeFromSx::OnDisarmWakeFromSx は、外部ウェイクアップ イベントに応答するデバイスの機能を無効にします。
- IPowerPolicyCallbackWakeFromSx::OnWakeFromSxTriggered は、バスがウェイク信号を検出したことをドライバーに通知します。
バス ドライバーは、システムのスリープ解除にも参加します。 デバイス バスのカーネルモード ドライバーは、低電力状態から復帰するデバイスの機能を有効および無効にするために、バス アダプターで必要な処理を行います。
デバイスのウェイクアップ機能を制御するレジストリ エントリの詳細については、「UMDF でのデバイスのアイドル状態とスリープ解除動作のユーザー制御」を参照してください。