WinUSB 電源管理
WinUSB は電源管理に KMDF ステート マシンを使用します。 電力ポリシーは WinUsb_SetPowerPolicy の呼び出しを通じて管理されます。
WinUSB の電源の振る舞いを変更するには、デバイスの INF で既定のレジストリ設定を変更します。 これらの値は、INF の HW.AddReg セクションに値を追加することで、レジストリ内のデバイス固有の場所に書き込む必要があります。
次の一覧で説明しているレジストリ値をデバイスの INF で指定して、電源の振る舞いを変更できます。
システム ウェイク
この機能は、SystemWakeEnabled DWORD レジストリ設定によって制御されます。 この値は、デバイスが低電力状態からシステムをウェイクアップできるようにするかどうかを示します。
HKR,,SystemWakeEnabled,0x00010001,1
- 値が 0 であるか、この値がない場合は、デバイスがシステムをウェイクアップすることを許可されていないことを示します。
- デバイスがシステムをウェイクアップできるようにするには、SystemWakeEnabled を 0 以外の値に設定します。 デバイスの [プロパティ] ページのチェック ボックスが自動的に有効になるため、ユーザーは設定を上書きできます。
Note
SystemWakeEnabled 設定を変更してもセレクティブ サスペンドには影響しません。このレジストリ値はシステムのサスペンドにのみ関係します。
セレクティブ サスペンド
セレクティブ サスペンドは、システムの設定のいずれか、または WinUSB の設定のいずれかによって無効にできます。 1 つの設定により WinUSB でセレクティブ サスペンドを有効にすることはできません。
次の電力ポリシー設定は、WinUsb_SetPowerPolicy の PolicyType パラメーターで指定され、セレクティブ サスペンドの振る舞いに影響します。
- AUTO_SUSPEND: 0 に設定すると、デバイスはセレクティブ サスペンド モードに設定されません。
- SUSPEND_DELAY: デバイスがアイドル状態になってから、WinUSB がデバイスにセレクティブ サスペンドに移行するように要求するまでの時間を設定します。
次の表は、レジストリ キーがセレクティブ サスペンド機能にどのような影響するかを示しています。
レジストリ キー | 説明 |
---|---|
DeviceIdleEnabled | これは DWORD 値です。 このレジストリ値は、アイドル時にデバイスの電源をオフにできる (セレクティブ サスペンド) かどうかを示します。
HKR,,DeviceIdleEnabled,0x00010001,1 |
DeviceIdleIgnoreWakeEnable | 0 以外の値に設定すると、デバイスが RemoteWake をサポートしていなくてもサスペンドします。 |
UserSetDeviceIdleEnabled | この値は DWORD 値です。 このレジストリ値は、ユーザーがアイドル状態の既定を上書きできるように、デバイスの [プロパティ] ページのチェック ボックスを有効にするかどうかを示します。 UserSetDeviceIdleEnabled を 0 以外の値に設定した場合、チェック ボックスが有効になり、ユーザーはアイドル時のデバイスの電源オフを無効にできます。 値が 0 であるか、この値がない場合は、チェック ボックスが有効になっていないことを示します。
DeviceIdleEnabled を設定しない場合、UserSetDeviceIdleEnabled は無視されます。 HKR,,UserSetDeviceIdleEnabled,0x00010001,1 |
DefaultIdleState | これは DWORD 値です。 このレジストリ値は AUTO_SUSPEND 電力ポリシー設定の既定値を設定します。 このレジストリ キーは、デバイスへのハンドルが開かれていないときに、セレクティブ サスペンドを有効または無効にするために使用されます。
DeviceIdleEnabled が設定されていない場合、この値は無視されます。 HKR,,DefaultIdleState,0x00010001,1 |
DefaultIdleTimeout | これは DWORD 値です。 このレジストリ値は SUSPEND_DELAY 電力ポリシー設定の既定状態を設定します。 この値は、デバイスがアイドル状態であると判断するまでの待機時間をミリ秒単位で示します。 HKR,,DefaultIdleTimeout,0x00010001,100 |
アイドル状態の検出
すべての書き込みとコントロール転送により、デバイスは強制的に D0 電力状態になり、アイドル タイマーがリセットされます。 IN エンドポイント キューは電源管理の対象外です。 読み取り要求が送信されると、デバイスはシステムをウェイクアップします。 ただし、読み取り要求の待機中にデバイスがアイドル状態になることがあります。