System-Power-Aktionen

Wenn der Power Manager eine IRP sendet, um den Systemstromzustand festzulegen oder abzufragen, gibt er einen Systemstromzustand zusammen mit einem zusätzlichen Parameter an, der Informationen über die Energiezustandsänderung angibt. Dieser Parameter, der an Irp-Parameters.Power.ShutdownType> übergeben wird, ist ein Enumerator des POWER_ACTION-Typs. Der Enumerator charakterisiert die Systemstromzustandsanforderung, wie in der folgenden Tabelle gezeigt.

POWER_ACTION Enumerator Systemleistungsstatus angefordert

PowerActionNone

S0 oder kein Systemleistungs-IRP aktiv

PowerActionSleep

S1, S2 oder S3

PowerActionHibernate

S4

PowerActionShutdown (nur Microsoft Windows 2000 und höher)

S5

PowerActionShutdownReset

S5

PowerActionShutdownOff

S5

Wenn ein Treiber eine Systemabfrage oder eine Set-Power-IRP für S5 empfängt, kann er ShutdownType überprüfen, um weitere Informationen zum angeforderten Herunterfahren zu erhalten. Ein Treiber kann diese Informationen verwenden, um seine Abschaltsequenz zu optimieren, wenn der Computer zurückgesetzt wird, anstatt die Stromversorgung unbegrenzt abzuschalten. Die Treiber der meisten Geräte behalten die Stromversorgung bei, wenn das System zurückgesetzt wird. Für bestimmte Geräte, z. B. ein Videostreaminggerät, das den direkten Speicherzugriff (DMA) ausführt, kann ein Treiber jedoch das Gerät herunterfahren, wenn das System zurückgesetzt wird, sodass alle laufenden E/A-Vorgänge beendet werden.

Wenn ein Besitzer einer Geräteenergierichtlinie als Reaktion auf eine Systemleistungs-IRP eine IRP für die Geräteleistung an seinen Gerätestapel sendet, können Treiber den ShutdownType-Parameter verwenden, um Informationen über die aktuelle Systemleistungs-IRP abzurufen. In diesem Fall gibt der Wert von ShutdownType den aktuell angeforderten Systemstromzustand an, oder es ist PowerActionNone , wenn eine Systemanforderung nicht aussteht. Treiber sollten sich jedoch nicht auf diese Informationen verlassen, wenn die Geräte-IRP den Status D0 anfordert.

In Windows 98/Me enthält dieses Element immer PowerActionNone , wenn der IRP einen Gerätestromzustand anfordert.