Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
I sin AddDevice-rutin skapar varje drivrutin ett enhetsobjekt (filtrera enhetsobjekt (DO), funktionellt enhetsobjekt (FDO) eller fysiskt enhetsobjekt (PDO)) och anger DO_XXX-flaggorna i enhetsobjektet för att beskriva enhetsattributen och drivrutinskonfigurationen. Följande enhetsobjektflaggor gäller strömhushållning.
| Flagga | Beskrivning |
|---|---|
| DO_POWER_INRUSH | Anger att den ström som dras av enheten ökar när enheten först aktiveras. Denna ökning eller "inrush" varar under en kort period, varefter strömmen som dras av enheten faller till en lägre driftsnivå. |
| DO_POWER_PAGABLE | Anger att drivrutinen är paginerbar. Från och med Windows 2000 måste drivrutiner som kan bläddras ange flaggan DO_POWER_PAGABLE. Power Manager anropar sådana drivrutiner på IRQL = PASSIVE_LEVEL. Mer information om sidbara drivrutiner finns i Göra drivrutiner sidbara. |
Enhetsobjektflaggor sätts vanligtvis av busschauffören när den skapar PDO:n för enheten. Vissa funktionsdrivrutiner kan dock behöva ändra värdena för dessa flaggor som en del av sina AddDevice-rutiner . Från och med Windows Vista kräver operativsystemet inte att alla enhetsobjekt i en enhetsstack har samma energirelaterade flaggor inställda. Men i Windows Server 2003, Windows XP och Windows 2000 bör alla enhetsobjekt i en enhetsstack ha samma energirelaterade flaggor inställda.
Från och med Windows 2000 får drivrutiner för enheter som finns i växlingssökvägen inte ange flaggan DO_POWER_PAGABLE. En drivrutin finns i växlingsvägen om den deltar i I/O-åtgärder i växlingsfilen. Drivrutiner som inte anger den här flaggan måste vara anropbara på IRQL = DISPATCH_LEVEL. Mer information finns i Begränsningar för dispatch-rutiner.
I allmänhet bör förare inte ändra busschaufförens värde för DO_POWER_PAGABLE-flaggan, och en förare får aldrig ange den här flaggan om en förare på lägre nivå har rensat den. När du hanterar övergångar som involverar PnP pagingbegäranden (vanligtvis som svar på en IRP_MJ_PNP med en IRP_MN_DEVICE_USAGE_NOTIFICATION-begäran) måste en lagringsdrivrutin noggrant sekvensera sin inställning och rensning av flaggan.
Drivrutiner för enheter som kräver en strömstöt vid uppstart måste ange flaggan DO_POWER_INRUSH i enhetsobjektet innan flaggan DO_DEVICE_INITIALIZING rensas. Endast en drivrutin i enhetsstacken, vanligtvis bussdrivrutinen (PDO), behöver ange flaggan DO_POWER_INRUSH för enhet. Flaggan meddelar energihanteraren att sådana enheter måste startas en i taget, i följd med andra sådana enheter, för att undvika överbelastning av strömförsörjningen. Power Manager säkerställer att endast en ströminrush-IRP är aktiv var som helst i systemet vid en viss tidpunkt.
Från och med Windows Vista kan drivrutiner ange både flaggan DO_POWER_PAGABLE och flaggan DO_POWER_INRUSH. I Windows Server 2003, Windows XP och Windows 2000 kan drivrutiner inte ange både flaggan DO_POWER_PAGABLE och flaggan DO_POWER_INRUSH.