電源管理をサポートするドライバーは、次の役割を担います。
PnP 列挙中のデバイスの電源機能のレポート。
電源マネージャーまたはドライバーから送信された電源 IRP の処理。
システム起動後またはアイドル シャットダウン後、必要に応じて即時のデバイスの電源投入。
システムのシャットダウン時のデバイスの電源切断またはアイドル状態のときのスリープへの移行。
デバイスがウェイクアップ機能をサポートしている場合、デバイス ウェイクアップの有効化。
電力消費量を削減するためのパフォーマンスまたは機能の削減がデバイスでサポートされている場合、デバイスのパフォーマンス状態の管理。
これらすべてのタスクを、すべてのデバイス スタックのどのドライバーも実行するというわけではありません。 通常、バス ドライバーは機能をレポートし、フラグを設定し、物理デバイスを操作します。デバイス電源ポリシー マネージャー (通常はファンクション ドライバー) は、デバイスをスリープ状態にする要求とウェイクアップを有効にする要求を発行します。
いくつか例外はありますが、ドライバーはデバイスの電源の投入と切断を行い、電源 IRP、つまり主要なコード IRP_MJ_POWER を含む IRP に応答してデバイスのウェイクアップを有効にします。 電源 IRP は、電源マネージャー、場合によってはドライバーが送信できます。