PoSetPowerState-Funktion (wdm.h)
Die PoSetPowerState-Routine benachrichtigt das System über eine Änderung des Geräteleistungszustands für ein Gerät.
Syntax
POWER_STATE PoSetPowerState(
[in] PDEVICE_OBJECT DeviceObject,
[in] POWER_STATE_TYPE Type,
[in] POWER_STATE State
);
Parameter
[in] DeviceObject
Ein Zeiger auf das Ziel DEVICE_OBJECT.
[in] Type
Gibt einen POWER_STATE_TYPE Wert an. Treiber müssen DevicePowerState angeben.
[in] State
Gibt den festzulegenden Energiezustand an. Treiber müssen einen DEVICE_POWER_STATE Wert angeben.
Rückgabewert
Unter Windows 2000 und höheren Versionen des Betriebssystems gibt PoSetPowerState den vorherigen Energiezustand zurück. Unter Windows 98/Me gibt PoSetPowerState den in Zustand übergebenen Zustand zurück.
Hinweise
PoSetPowerState benachrichtigt den Power-Manager über den neuen Energiezustand für ein Gerät. Jeder Treiber in einem Gerätestapel (Filter-, Funktions- und Bustreiber) muss PoSetPowerState aufrufen, um den Energiemanager über eine Änderung des Energiezustands des entsprechenden Geräteobjekts zu informieren. Beispiel:
- Ein Treiber ruft diese Routine nach dem Empfang einer Gerätesatz-Energieanforderung und vor dem Aufruf von PoStartNextPowerIrp auf. Beim Verarbeiten einer PnP-IRP_MN_START_DEVICE-Anforderung sollte der Treiber PoSetPowerState aufrufen, um den Energie-Manager darüber zu informieren, dass sich das Gerät im D0-Zustand befindet.
- Wenn das Gerät heruntergefahren wird, muss der Treiber PoSetPowerState aufrufen, bevor er den D0-Zustand verlässt. Darüber hinaus muss der Treiber in der Lage sein, Clientanforderungen zu verarbeiten, bevor PoSetPowerState zurückgibt.
- Wenn das Gerät aktiviert wird, muss der Treiber PoSetPowerState aufrufen, nachdem das Gerät erfolgreich in den D0-Zustand versetzt wurde.
Aufrufer von PoSetPowerState müssen unter IRQL <= APC_LEVEL ausgeführt werden, außer wenn der Zustand auf D0 festgelegt wird. Wenn Sie den Status auf D0 festlegen, können Aufrufer unter IRQL <= DISPATCH_LEVEL ausgeführt werden.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Verfügbar ab Windows 2000. |
Zielplattform | Universell |
Header | wdm.h (einschließlich Wdm.h, Ntddk.h, Ntifs.h) |
Bibliothek | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | Weitere Informationen finden Sie im Abschnitt mit den Hinweisen. |