Dela via


Windows Kernel-Mode Power Manager

Windows använder energisparteknik för att minska energiförbrukningen för datorer i allmänhet och för batteridrivna bärbara datorer i synnerhet. En Windows-dator kan till exempel försättas i viloläge eller sparläge. Ett komplext energisparsystem för datorenheter har utvecklats så att när datorn börjar stänga av eller gå till lägre strömförbrukning kan de anslutna enheterna också stängas av på ett korrekt sätt så att inga data går förlorade. Men dessa enheter behöver en varning om att strömstatusen ändras och att de också kan behöva ingå i en kommunikationsloop som talar om för den kontrollerande enheten att vänta tills de kan stängas av korrekt.

Strömhållaren i Windows kärnläge hanterar den ordnade förändringen av strömstatus för alla enheter som stöder ändringar i strömtillstånd. Detta görs ofta via en komplex stack med enheter som styr andra enheter. Varje kontrollerande enhet kallas för en nod och måste ha en drivrutin som kan hantera kommunikationen av energitillståndsändringar upp och ned via en enhetsstack.

Om du skriver en drivrutin som kan påverkas av energispartillståndsändringar måste du kunna bearbeta följande typer av information i drivrutinskoden:

  • Systemaktivitetsnivå.

  • Systembatterinivå.

  • Aktuella begäranden om att stänga av, sova eller viloläge.

  • Användaråtgärder som att trycka på en strömknapp.

  • Inställningar för kontrollpanelen, till exempel att automatiskt stänga av vid 10 procent batteridrift.

Power Manager hanterar dessa begäranden med IRP:er. Mer information om IP-adresser finns i Hantera IP-adresser.

Power Manager fungerar i kombination med policyhantering för att hantera energisparfunktioner och samordna energihändelser och genererar sedan strömhanterings-IRP:er. Power Manager samlar in begäranden om att ändra energitillståndet, bestämmer vilken ordning enheterna måste få sitt energitillstånd ändrat och skickar sedan lämpliga IP-adresser för att be lämpliga drivrutiner att göra ändringarna (vilket i sin tur kan uppmana underenheter att göra ändringen också). Principhanteraren övervakar aktiviteten i systemet och integrerar användarstatus, programstatus och enhetsdrivrutinsstatus i energiprincipen.

Mer detaljerad information om energisparfunktioner finns i Power Management för Windows-drivrutiner.

Power Manager anses vara en underkomponent för I/O-chefen. Mer information finns i Windows I/O Manager.

Rutiner som tillhandahåller ett direkt gränssnitt till energihanteraren är vanligtvis försedda med prefixet "Po"; till exempel PoSetPowerState. En lista över Power Manager-rutiner finns i Power Manager-rutiner.

Windows Driver Frameworks (WDF) tillhandahåller en uppsättning bibliotek för att göra energisparfunktionerna mycket enklare. Mer information om WDF finns i översikten överKernel-Mode Driver Framework.