Tindakan Daya Sistem

Ketika manajer daya mengirim IRP untuk mengatur atau mengkueri status daya sistem, manajer daya menentukan status daya sistem bersama dengan parameter tambahan yang memberikan informasi tentang perubahan status daya. Parameter ini, yang diteruskan di Irp-Parameters.Power.ShutdownType>, adalah enumerator dari jenis POWER_ACTION. Enumerator mencirikan permintaan status daya sistem, seperti yang ditunjukkan dalam tabel berikut.

enumerator POWER_ACTION Status daya sistem diminta

PowerActionNone

S0 atau tidak ada IRP daya sistem yang aktif

PowerActionSleep

S1, S2, atau S3

PowerActionHibernate

S4

PowerActionShutdown (hanya sistem Microsoft Windows 2000 dan yang lebih baru)

S5

PowerActionShutdownReset

S5

PowerActionShutdownOff

S5

Saat driver menerima kueri sistem atau IRP set-power untuk S5, driver dapat memeriksa ShutdownType Untuk informasi selengkapnya tentang pematian yang diminta. Driver dapat menggunakan informasi ini untuk mengoptimalkan urutan pematiannya ketika mesin mengatur ulang alih-alih mematikan daya tanpa batas waktu. Driver sebagian besar perangkat mempertahankan daya saat sistem direset. Namun, untuk perangkat tertentu, seperti perangkat streaming video yang melakukan akses memori langsung (DMA), driver mungkin memilih untuk mematikan perangkatnya saat sistem direset, sehingga menghentikan I/O yang sedang berlangsung.

Ketika pemilik kebijakan daya perangkat mengirim IRP daya perangkat ke tumpukan perangkatnya sebagai respons terhadap IRP daya sistem, driver dapat menggunakan parameter ShutdownType untuk mendapatkan informasi tentang IRP daya sistem saat ini. Dalam hal ini, nilai ShutdownType menunjukkan status daya sistem yang saat ini diminta, atau PowerActionNone jika permintaan sistem tidak luar biasa. Namun, driver tidak boleh mengandalkan informasi ini jika IRP perangkat meminta status D0.

Di Windows 98/Me, anggota ini selalu berisi PowerActionNone ketika IRP meminta status daya perangkat.