ドライバーになります。ドライバーは、デバイスの電源ポリシー所有者にもなります。スタックにおける電源ポリシー所有者である特定のドライバーを指しています。デバイスには割り込みエンドポイントがあり、ボタンの押下など、ユーザーが開始したさまざまなイベントに関するデータを送信するために使用されます。以上の割り込み転送を保留にします。ドライバーは電源ポリシー所有者であるため、ドライバーはマウスの使用状況を追跡し、マウスがアイドル状態になったことを検出します。前の図に、この設定が示されています。ドライバーがデバイスのアイドル状態を検出した後、ドライバーはマウスを低電力状態に移行する処理を開始します。ドライバーに送信します。保留にして、格納しておきます。要求することにより、低電力状態への移行を開始します。ドライバーは保留中の割り込み転送を取り消します。レジスタを操作してポートを中断状態にします。デバイスは低電力状態に移行し、スリープ解除イベントの検出とイベント発生時の再開信号の生成に十分な電力のみを保持します。次の図に、この処理を示します。コントローラーとマウスとの間にハブがある場合のポートの中断操作は、レジスタ操作の実行ではなく、ハブに制御転送を送信することによって実行されます。スタック内のその他のドライバーは、協調してハードウェアと対話します。前の図では、説明を簡潔にするためにこの対話は示されていません。スリープ解除ユーザーがマウスを小刻みに動かすと、マウスはアップストリームのケーブル上で特定の再開信号を生成します。この再開信号を受信したコントローラーは、その信号をダウンストリームのマウスにも伝達します。スタックに通知します。ドライバーに通知します。スタックに送信して、マウスを稼働状態にします。ドライバーによって処理されます。ドライバーに到達します。ドライバーは割り込み転送を送信して、マウスのアクティビティを取得し、通常の機能を再開することができます。次の図に、この処理を示します。マウスの再開信号を送信する機能は、マウスが中断状態になっているときにのみアクティブ化されます。イベントを識別します。イベントに応答できます。よって構成された一般的なメカニズムを、その機能が使用していることがわかります。送信を必要とする、より複雑な方法を実装する必要があります。その理由を次に説明します。デバイスで実装することができます。デバイス」とも呼ばれます。複合デバイスに、キーボード用の機能とマウス用の別の機能を含めることができます。ドライバーによって管理されます。メカニズムを使用して実行時の電源管理をしようとした場合、どのようになるでしょうか。ドライバーは、それぞれの割り込みエンドポイントで割り込み転送を保留します。各機能はそれぞれ独立してアイドル状態になることができます。キーボードは使用されたままで、マウス機能がアイドル状態になるというシナリオを考えてみます。スタックは低電力状態に移行できません。サスペンドの状態になる必要があります。デバイスは中断状態ではないので、再開信号を送信する機能を有効にできません。ドライバーに通知する手段がありません。マウスはキーボードもアイドル状態になるまでは使用することができず、それがいつになるのかもわからないのです。メカニズム前のシナリオから、複合デバイスが中断状態に移行できるのは、すべての機能がアイドル状態のときだけであるということがわかります。ドライバーが低電力状態への移行を開始できるのは、他のすべての機能がアイドル状態であることをその機能が認識している場合だけです。段階の処理を定義しています。スタックに通知します。ドライバーに通知します。ドライバーは低電力状態に移行できます。ドライバーを調整し、そのコールバックを呼び出すタスクを実装しています。デバイスを管理している場合とを区別する必要がないように設計されています。コールバックを呼び出します。メカニズムを使用できます。ドライバーが再開信号の通知に依存しない場合、他のファンクションがアイドル状態であるかどうか認識する必要はありません。サスペンドに移行しなくても問題ありません。ドライバーが単機能デバイスを制御する場合。メカニズムを実装することが必要になる可能性があります。(英語)」を参照してください。メカニズムを使用することになります。サスペンド機能によって、消費電力は大幅に節約されます。ドライバーでこの機能を実装することは不可欠です。デバイスは、システムの他のコンポーネントが低電力状態に移行するときに妨げとなる可能性があります。コントローラーの低電力状態への移行を妨げます。コンポーネントも低電力状態に移行できなくなります。したがって、デバイスがこの機能を適切に実装していない場合、システムの構成によっては、重大なシステムの電力浪費を引き起こす可能性があります。デバイスで特に重要です。プロトコルでは対話が非常に多いからです。コントローラーとデバイスの間で定期的なポーリングが必要です。ハブによってコントローラー内の定期的なスケジューラーはアクティブ状態に保たれます。ドライバーに電源管理を正しく実装するのは容易な作業ではありません。メカニズムの実装によって、作業はより複雑になります。メカニズムの実装も容易になることは覚えておいてください。使用することを強くお勧めします。実行時の電源管理については、「アイドル時の低電力化機能のサポート」を参照してください。メソッド」で適切なオプションを選択してください。電源ポリシーの所有権」を参照してください。サスペンドの実装方法の概要が示されています。サスペンド」、および「アイドル状態の検出によってシステムの電源効率を上げる」を参照してください。サスペンドからの移行が、ユーザーにまったく意識されないようにすることが非常に重要です。エクスペリエンスの一貫性が失われる原因となる可能性があります。サウンドが再生されたりする可能性があります。サスペンドを実装し、幅広くテストする必要があります。アクションが発生したときに、再開信号を送信できる必要があります。サスペンド状態になる場合は、ユーザーがマウスのボタンをクリックしたときだけでなく、ユーザーがマウスを動かしたときにも再開信号を送信できる必要があります。任意のイベントの発生時にスリープを解除するという要件は、システム中断には適用されないことに注意してください。システム中断の場合は、特殊なイベントの発生時にのみデバイスのスリープを解除する方が合理的である可能性があります。アクションに関連付けられたデータをキャッシュするのに十分なバッファーも必要です。ドライバーはデバイスとの対話を開始でき、デバイスはドライバーにデータを返すことができます。このため、ユーザーはキーボードのキーを押すなどのアクションを繰り返す必要がありません。サスペンドにどのように影響するかを見てみましょう。(LPM)」を定義しています。リンク状態は、数字が大きくなるほど、節電効果は高くなり、終了時の待ち時間も長くなります。レベルで行われ、それ以上のソフトウェアの介入はありません。ドライバーの介入なしに、この設定を処理します。サスペンド状態になります。サスペンド状態と比較してみましょう。デバイスは直接中断状態になります。(詳細は後で説明します)。ハブは同じ信号を使用してデバイスに応答します。異なり、ハブは、ポートのステータス変更割り込みイベントを再開イベントとして送信しません。デバイス通知を送信します。仕様では、「機能の中断」機能も定義されています。サスペンドに関連しています。複合デバイスでは、ある機能をデバイス内の他の機能とは独立して稼働状態またはアイドル状態にすることができます。ドライバーが低電力状態への移行を要求したときには、対応する機能は中断状態になる必要があります。することによって、デバイスを中断状態に移行することができます。スリープ解除に対応させることもできます。このため、他の機能が中断状態ではない場合でも、ある機能を中断およびスリープ解除することができます。複合デバイスでは必要ありません。機能がスリープ解除されると、その機能はスリープ解除通知パケットを送信し、スリープ解除されたデバイスおよび個々の機能をホストに通知します。完了することができ、中断状態の他の機能をスリープ解除する必要がありません。スリープ解除および中断に対応します。非複合デバイスは複合デバイスの特殊なケースとみなされます。ドライバーが、選択された構成の最初のインターフェイスに制御転送を送信する必要があります。スリープ解除への対応は適用されないことに注意してください。スリープ解除への対応を処理できます。スタックに通知する必要があります。ドライバーを変更する必要がほとんどないような方法で設計するのが理想的です。スタックで吸収する必要があります。デバイスについてもそのままで動作する必要があります。メカニズムを実装する必要はありません。メカニズムを実装することになります。デバイスとして動作することが求められているからです。サスペンドを中心に説明しました。状態についても簡単に述べましたが、詳しくは説明していません。消費電力を節約するための強力なメカニズムですが、新しい課題もいくつかあります。これについては、次のブログの投稿で説明することにします。FeedbackTrademarks。