Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Dimulai dengan Windows Vista, memanggil PoStartNextPowerIrp tidak diperlukan dan panggilan ke rutinitas ini tidak melakukan operasi manajemen daya. Namun, di Windows Server 2003, Windows XP, dan Windows 2000, setelah driver memproses IRP daya kueri atau IRP set-power, driver harus memanggil PoStartNextPowerIrp untuk memberi tahu manajer daya bahwa ia siap untuk menerima IRP daya lain. Driver harus memanggil PoStartNextPowerIrp sementara lokasi tumpukan IRP menunjuk ke driver saat ini dan sebelum memanggil PoCallDriver.
Driver harus memanggil rutinitas ini sekali untuk setiap permintaan IRP_MN_QUERY_POWER atau IRP_MN_SET_POWER yang diterimanya. Driver tidak perlu memanggil PoStartNextPowerIrp saat menangani permintaan IRP_MN_WAIT_WAKE atau IRP_MN_POWER_SEQUENCE .
Ketika driver memanggil PoStartNextPowerIrp, lokasi tumpukan IRP saat ini harus menunjuk ke driver saat ini. Sebagai aturan umum, panggilan ini paling baik dibuat dari rutinitas IoCompletion . PoStartNextPowerIrp harus dipanggil sebelum IoCompleteRequest, IoSkipCurrentIrpStackLocation, dan PoCallDriver. Memanggil rutinitas dalam urutan lain dapat menyebabkan kebuntuan sistem.
Bahkan jika driver gagal IRP, namun harus memanggil PoStartNextPowerIrp untuk memberi tahu manajer daya bahwa ia siap untuk menangani IRP daya lain.
Bagian berikut mengklarifikasi kapan setiap jenis driver harus memanggil rutinitas ini:
Memanggil PoStartNextPowerIrp dari Driver Filter
Memanggil PoStartNextPowerIrp dari Pemilik Kebijakan Daya Perangkat