Bagikan melalui


SystemWake

The SystemWake member of DEVICE_CAPABILITIES contains the lowest (least-powered) system power state from which the device can wake the system, or PowerSystemUnspecified if the device cannot wake the system.

Driver bus menetapkan nilai ini ketika menghitung perangkat. Driver tingkat yang lebih tinggi dapat mengubah nilai ke status bertenaga lebih tinggi tetapi tidak dapat mengubahnya menjadi status bertenaga lebih rendah. For example, if the bus driver sets SystemWake to S3 but a driver further up the device stack supports wake-up only from S2, the higher-level driver can change the value to S2. If a driver changes SystemWake, it might also have to change DeviceWake, as explained in the next section.

Driver jarang perlu menyebarluaskan nilai yang diubah kembali ke tumpukan perangkat. Karena perubahan membuat kemampuan perangkat lebih ketat, driver yang lebih rendah tidak melihat permintaan yang tidak dapat mereka tangani. Dalam contoh sebelumnya, driver tingkat yang lebih tinggi gagal setiap permintaan untuk membangunkan sistem dari status bertenaga lebih rendah daripada S2, sehingga driver yang lebih rendah tidak pernah melihat permintaan seperti itu. However, if a lower driver must be aware of any changes, it can send a PnP IRP_MN_QUERY_CAPABILITIES to its own device stack during its processing of an IRP_MN_START_DEVICE.

If both the SystemWake and DeviceWake members are nonzero (that is, not PowerSystemUnspecified), then the device and its drivers support wake-up on this system.

On non-ACPI hardware, this member always contains zero (PowerSystemUnspecified).