IWDFDevice2::GetSystemPowerAction-Methode (wudfddi.h)
[Warnung: UMDF 2 ist die neueste Version von UMDF und ersetzt UMDF 1. Alle neuen UMDF-Treiber sollten mit UMDF 2 geschrieben werden. UMDF 1 werden keine neuen Features hinzugefügt, und die Unterstützung für UMDF 1 für neuere Versionen von Windows 10 ist eingeschränkt. Universelle Windows-Treiber müssen UMDF 2 verwenden. Weitere Informationen finden Sie unter Erste Schritte mit UMDF.]
Die GetSystemPowerAction-Methode gibt die Systemstromaktion zurück, falls vorhanden, die derzeit für den Computer ausgeführt wird.
POWER_ACTION GetSystemPowerAction();
GetSystemPowerAction gibt einen POWER_ACTION typisierten Enumeratorwert zurück. Der Wert gibt die Systemstromaktion an, die derzeit für den Computer ausgeführt wird. Weitere Informationen finden Sie im folgenden Abschnitt "Hinweise".
Mit der GetSystemPowerAction-Methode kann ein Treiber ermitteln, ob der Energieübergang eines Geräts stattfindet, weil sich das Gerät im Leerlauf befindet (oder aufwacht), oder weil der gesamte Computer in einen Zustand mit geringer Leistung wechselt (oder verlässt).
Der Treiber darf GetSystemPowerAction nur über die Ereignisrückruffunktionen aufrufen, die das Framework aufruft, wenn das Gerät in einen Energiesparzustand wechselt oder in den Betriebszustand zurückkehrt.
Der Wert, den GetSystemPowerAction zurückgibt, hängt von den folgenden Situationen ab:
- Wenn der Computer beim Aufrufen von GetSystemPowerAction vom Treiber in einen Zustand mit niedriger Leistung versetzt wird, gibt die Methode den Grund zurück, aus dem der Computer in den Zustand mit niedriger Leistung wechselt. Die Methode gibt beispielsweise PowerActionSleep zurück, wenn der Computer in den S1-, S2- oder S3-Energiesparzustand wechselt.
- Wenn der Computer aus einem Zustand mit niedriger Leistung in den Arbeitszustand (S0) zurückkehrt, wenn der Treiber GetSystemPowerAction aufruft, gibt die Methode den Grund zurück, aus dem der Computer in den Zustand mit niedriger Leistung gelangt ist. Die -Methode gibt beispielsweise PowerActionSleep zurück, wenn der Computer seinen S1-, S2- oder S3-Energiesparzustand verlässt.
- Wenn der Computer eingeschaltet wird (nachdem er ausgeschaltet wurde), wenn der Treiber GetSystemPowerAction aufruft, gibt die Methode PowerActionNone zurück.
- Wenn das Gerät in einen Leerlaufzustand mit geringer Leistung wechselt oder beim Aufrufen von GetSystemPowerAction vom Treiber in den Betriebszustand (D0) zurückkehrt, während der Rest des Systems in seinem Betriebszustand (S0) verbleibt, gibt die Methode PowerActionNone zurück.
- Wenn sich der Computer und das Gerät im Arbeitszustand befinden, wenn der Treiber GetSystemPowerAction aufruft, gibt die Methode PowerActionNone zurück.
Im folgenden Codebeispiel wird die IWDFDevice2-Schnittstelle abgerufen und dann GetSystemPowerAction aufgerufen.
IWDFDevice2 *pDevice2 = NULL;
HRESULT hrQI = pDevice->QueryInterface(IID_PPV_ARGS(&pDevice2));
if (SUCCEEDED(hrQI))
{
POWER_ACTION powerAction = pDevice2->GetSystemPowerAction();
}
...
SAFE_RELEASE(pDevice2);
Anforderung | Wert |
---|---|
Ende des Supports | In UMDF 2.0 und höher nicht verfügbar. |
Zielplattform | Desktop |
UMDF-Mindestversion | 1.9 |
Kopfzeile | wudfddi.h (include Wudfddi.h) |
DLL | WUDFx.dll |