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