EVT_HIDSPICX_NOTIFY_POWERDOWN fungsi panggilan balik (hidspicx.h)
Fungsi panggilan balik EvtHidspicxNotifyPowerdown diimplementasikan oleh driver klien untuk menerima pemberitahuan ketika perangkat akan beralih ke status daya rendah.
EVT_HIDSPICX_NOTIFY_POWERDOWN EvtHidspicxNotifyPowerdown;
NTSTATUS EvtHidspicxNotifyPowerdown(
WDFDEVICE Device,
BOOLEAN ArmForWake
)
{...}
Device
Handel ke objek perangkat kerangka kerja yang diperoleh driver klien dari panggilan sebelumnya ke WdfDeviceCreate.
ArmForWake
Nilai Boolean yang menunjukkan apakah perangkat akan dipersenjatai untuk bangun dalam status target untuk transisi daya yang akan datang.
NTSTATUS menunjukkan apakah persiapan untuk transisi daya berhasil atau tidak. Metode ini tidak diharapkan gagal pada runtime, dan dapat mengakibatkan kegagalan perangkat oleh HidSpiCx.
Driver klien diharapkan untuk menerapkan dan memberikan panggilan balik yang akan digunakan HidSpiCx untuk memberi tahu klien tentang daya yang akan datang. Tujuan dari panggilan balik ini adalah untuk memungkinkan ekstensi kelas menginstruksikan klien untuk berhenti memproses gangguan dari perangkat, karena perangkat akan memasuki status daya rendah. Klien tidak boleh melanjutkan interupsi pemrosesan hingga panggilan balik ke panggilan balik D0Entry WDF klien telah terjadi.
Tujuan dari fungsi ini adalah untuk menghindari kasus saat memasuki status tidur di mana ekstensi kelas mengirim perintah SET_POWER SLEEP
ke perangkat, dan perangkat menegaskan gangguan untuk bangun sebelum Dx IRP diselesaikan oleh ekstensi kelas dan driver klien. Tanpa panggilan balik tambahan yang menginstruksikan klien untuk menghentikan pemrosesan perangkat keras gangguan, perangkat keras akan mengeluarkan SPI yang dibaca sebagai respons terhadap gangguan bangun, yang akan melanggar protokol yang mengharuskan host untuk terlebih dahulu mengirim perintah SET_POWER ON
sebelum memproses gangguan dari perangkat.
Fungsi ini akan dipanggil oleh ekstensi kelas di IRQL pasif, dan klien tidak boleh kembali sampai pemrosesan interupsi berhenti.
Apakah perangkat akan dipersenjatai untuk bangun di tingkat bus diberikan kepada klien sebagai kenyamanan, memungkinkan driver klien menghindari pemantauan untuk perintah WAIT_WAKE
jika bukan driver bus.
Syarat | Nilai |
---|---|
klien minimum yang didukung | Windows 11 |
Header | hidspicx.h |
IRQL | PASSIVE_LEVEL |