Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Das DeviceState-Element von DEVICE_CAPABILITIES ist ein Array von DEVICE_POWER_STATE Werten, die von SYSTEM_POWER_STATE Werten indiziert werden, die von PowerSystemWorking bis PowerSystemShutdown reichen. Jedes Element des Arrays enthält den maximalen (leistungsstärksten) Gerätestromzustand, den das Gerät für den vom Index gekennzeichneten Systemstromzustand unterstützen kann, oder PowerDeviceUnspecified , wenn der Systemstromzustand nicht unterstützt wird.
Beispielsweise enthält das DeviceState-Array für ein Gerät, das nur die D0- und D3-Zustände unterstützt, in einem System, das nur die Systemleistungszustände S0, S4 und S5 unterstützt, die in der folgenden Tabelle angezeigten Werte.
| DeviceState-Element | Wert |
|---|---|
DeviceState[PowerSystemWorking] |
PowerDeviceD0- |
DeviceState[PowerSystemSleeping1] |
PowerDeviceUnspecified |
DeviceState[PowerSystemSleeping2] |
PowerDeviceUnspecified |
DeviceState[PowerSystemSleeping3] |
PowerDeviceUnspecified |
DeviceState[PowerSystemHibernate] |
PowerDeviceD3- |
DeviceState[PowerSystemShutdown] |
PowerDeviceD3- |
In einem System, das alle Systemleistungszustände unterstützt, werden in der folgenden Tabelle die Werte aufgeführt, die das Array für ein Gerät enthalten würde, das sich im D2-Zustand oder niedriger befinden muss, wenn das System in einen Zwischenschlafzustand und im D3-Zustand wechselt, wenn das System in den Ruhezustand wechselt.
| DeviceState-Element | Wert |
|---|---|
DeviceState[PowerSystemWorking] |
PowerDeviceD0- |
DeviceState[PowerSystemSleeping1] |
PowerDeviceD2- |
DeviceState[PowerSystemSleeping2] |
PowerDeviceD2- |
DeviceState[PowerSystemSleeping3] |
PowerDeviceD2- |
DeviceState[PowerSystemHibernate] |
PowerDeviceD3- |
DeviceState[PowerSystemShutdown] |
PowerDeviceD3- |
Beachten Sie, dass die Einträge im DeviceState-Array den höchsten Gerätestromzustand kennzeichnen, den das Gerät für den entsprechenden Systemstromzustand unterstützen kann. Im vorherigen Beispiel könnte das Gerät in Zustand D3 für jeden Systemstromzustand sein, in Zustand D2 für die Systemstromzustände PowerSystemWorking durch PowerSystemSleeping3 und in Zustand D1 für den Systemzustand PowerSystemWorking.
Der Bustreiber oder ACPI-Filter legt diese Werte basierend auf den Funktionen des übergeordneten Geräteknotens fest.
In der Regel sollten Treiber auf höherer Ebene diese Werte nicht ändern. In den seltenen Fällen, unter denen eine solche Änderung erforderlich ist, kann ein Fahrer jedoch einen niedrigeren Zustand (weniger betrieben) als der Bustreiber oder der ACPI-Filter angeben, der ursprünglich zurückgegeben wurde. Nehmen Wir beispielsweise an, dass DeviceState[PowerSystemSleeping1] PowerDeviceD2 wie in der obigen Tabelle zugeordnet ist. Ein Treiber kann diesen Wert in PowerDeviceD3, aber nicht in PowerDeviceD1 oder PowerDeviceD0 ändern.