Determinare se un dispositivo può riattivare il sistema
Alcuni dispositivi, ad esempio tastiere, modem e schede di rete, possono rispondere a segnali esterni durante lo stato di sospensione del dispositivo. Come parte della sua tecnologia di risparmio energia, il sistema operativo fornisce un modo per tali dispositivi di riattivare un sistema di sospensione, che può quindi ripristinare il contesto precedente. Il meccanismo di riattivazione software consente a un sistema di risvegliarsi da qualsiasi stato, ad eccezione di S5 (PowerSystemShutdown), a seconda del supporto nell'hardware del sistema e del dispositivo e del BIOS. Un sistema nello stato S5 deve essere sempre riavviato.
Anche se il sistema operativo è progettato per svegliarsi da uno qualsiasi degli stati di sospensione intermedi, le funzionalità di riattivazione esatte variano da computer a computer e dispositivo a dispositivo. Non tutti i computer supportano tutti gli stati di sospensione del sistema; pertanto, la capacità di riattivare da determinati stati è senza significato in alcuni computer.
Analogamente, la maggior parte dei dispositivi non supporta tutti gli stati di alimentazione dei dispositivi (da D0 a D3) né supporta la riattivazione da tutti gli stati di alimentazione del dispositivo supportati.
La sospensione indica che un dispositivo può entrare, insieme agli stati da cui supporta la riattivazione, sono descritti in enumerazione dal driver del bus e vengono archiviati nella struttura DEVICE_CAPABILITIES . Nella tabella seguente sono elencati i membri di questa struttura rilevanti per il supporto di attesa/riattivazione.
Membro | Descrizione |
---|---|
True se il dispositivo supporta lo stato PowerDeviceD1. |
|
True se il dispositivo supporta lo stato PowerDeviceD2. |
|
True se il dispositivo può riattivarsi da PowerDeviceD0. |
|
True se il dispositivo può riattivarsi da PowerDeviceD1. |
|
True se il dispositivo può riattivarsi da PowerDeviceD2. |
|
True se il dispositivo può riattivarsi da PowerDeviceD3. |
|
DeviceState [PowerSystemMaximum] |
Specifica lo stato di alimentazione del dispositivo più elevato che questo dispositivo può supportare per ogni stato di alimentazione del sistema, da PowerSystemUnspecified a PowerSystemShutdown. |
Specifica lo stato di alimentazione del sistema più basso (da S0 a S4) da cui è possibile risvegliare il sistema. |
|
Specifica lo stato di alimentazione del dispositivo più basso (da D0 a D3) da cui il dispositivo può risvegliarsi. |
La voce DeviceWake elenca lo stato di alimentazione del dispositivo più basso da cui il dispositivo può rispondere a un segnale di riattivazione. Il valore PowerDeviceUnspecified indica che il dispositivo non può riattivare il sistema. La voce SystemWake elenca lo stato di alimentazione del sistema più basso da cui è possibile risvegliare il sistema. Questi valori si basano sulle funzionalità del nodo devnode padre e i driver non devono modificarli. Per altre informazioni, vedere Reporting Device Power Capabilities.For more information, see Reporting Device Power Capabilities.
In generale, un dispositivo può riattivare il sistema se è vero quanto segue:
Il dispositivo è in uno stato di alimentazione uguale o superiore a quello del valore DeviceWake .
Il sistema è in uno stato di alimentazione uguale o superiore a quello del valore SystemWake .