Condividi tramite


SystemWake

Il membro SystemWake di DEVICE_CAPABILITIES contiene lo stato di alimentazione del sistema più basso (meno alimentato) da cui il dispositivo può riattivare il sistema o PowerSystemUnspecified se il dispositivo non è in grado di riattivare il sistema.

Il driver del bus imposta questo valore in corrispondenza dell'enumerazione del dispositivo. Un driver di livello superiore può modificare il valore impostandolo su uno stato più elevato, ma non può modificarlo in uno stato a basso consumo. Ad esempio, se il driver del bus imposta SystemWake su S3, ma un driver più in alto lo stack di dispositivi supporta solo la riattivazione da S2, il driver di livello superiore può modificare il valore in S2. Se un driver cambia SystemWake, potrebbe anche essere necessario modificare DeviceWake, come illustrato nella sezione successiva.

I driver raramente devono propagare i valori modificati nello stack di dispositivi. Poiché le modifiche rendono le funzionalità del dispositivo più restrittive, i driver inferiori non vedono le richieste che non possono gestire. Nell'esempio precedente, un driver di livello superiore ha esito negativo qualsiasi richiesta di riattivare il sistema da uno stato più basso rispetto a S2, quindi i driver più bassi non vedono mai tale richiesta. Tuttavia, se un driver inferiore deve essere a conoscenza di eventuali modifiche, può inviare un IRP_MN_QUERY_CAPABILITIES PnP al proprio stack di dispositivi durante l'elaborazione di un IRP_MN_START_DEVICE.

Se entrambi i membri SystemWake e DeviceWake sono diversi da zero (ovvero non PowerSystemUnspecified), il dispositivo e i relativi driver supportano la riattivazione in questo sistema.

Nell'hardware non ACPI questo membro contiene sempre zero (PowerSystemUnspecified).