Aufrufen von PoStartNextPowerIrp von einem Besitzer der Geräteenergierichtlinie

Ab Windows Vista ist der Aufruf von PoStartNextPowerIrp nicht erforderlich, und der Aufruf dieser Routine führt keinen Energieverwaltungsvorgang aus. In Windows Server 2003, Windows XP und Windows 2000 muss ein Funktionstreiber, der die Geräteenergierichtlinie besitzt, PoStartNextPowerIrp jedoch einmal für jede IRP_MN_QUERY_POWER oder IRP_MN_SET_POWER Anforderung aufrufen, die der Treiber empfängt. Wann der Aufruf erfolgt, hängt vom Typ der Anforderung ab und davon, ob der Treiber fehlschlägt oder die Anforderung erfolgreich ist, wie in der folgenden Tabelle gezeigt.

Anforderungstyp Wenn der Treiber die Anforderung erfolgreich ausgeführt hat, erfolgt der Aufruf: Wenn die Anforderung vom Treiber fehlschlägt, erfolgt der Aufruf:

IRP_MN_QUERY_POWER (Energiezustand des Geräts)

In einer IoCompletion-Routine , unmittelbar vor der Rückgabe.

In der DispatchPower-Routine , bevor IoCompleteRequest aufgerufen wird.

IRP_MN_QUERY_POWER (Systemleistungszustand)

In der PoRequestPowerIrp-Rückrufroutine für die zugehörige Geräte-IRP, unmittelbar vor Abschluss der System-IRP.

In der DispatchPower-Routine , bevor IoCompleteRequest aufgerufen wird.

IRP_MN_SET_POWER (Energiezustand des Geräts)

In einer IoCompletion-Routine , unmittelbar vor der Rückgabe.

Nicht zulässig.

IRP_MN_SET_POWER (Systemleistungszustand)

In der PoRequestPowerIrp-Rückrufroutine für die zugehörige Geräte-IRP, unmittelbar vor Abschluss der System-IRP.

Nicht zulässig.