Bagikan melalui


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.

Sintaks

EVT_HIDSPICX_NOTIFY_POWERDOWN EvtHidspicxNotifyPowerdown;

NTSTATUS EvtHidspicxNotifyPowerdown(
  WDFDEVICE Device,
  BOOLEAN ArmForWake
)
{...}

Parameter

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 segera berakhir.

Mengembalikan nilai

NTSTATUS menunjukkan apakah persiapan untuk transisi daya berhasil atau tidak. Metode ini tidak diharapkan gagal pada runtime, dan dapat mengakibatkan kegagalan perangkat oleh HidSpiCx.

Keterangan

Driver klien diharapkan untuk mengimplementasikan 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 pemrosesan mengganggu sampai 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 SET_POWER SLEEP perintah ke perangkat, dan perangkat menegaskan mengganggu untuk bangun sebelum Dx IRP selesai 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 SET_POWER ON perintah 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 atau tidak untuk bangun di tingkat bus diberikan kepada klien sebagai kenyamanan, memungkinkan driver klien untuk menghindari pemantauan untuk WAIT_WAKE perintah jika itu bukan pengemudi bus.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 11
Header hidspicx.h
IRQL PASSIVE_LEVEL

Lihat juga

Status Daya Perangkat

Status Low-Power Perangkat