EVT_WDF_INTERRUPT_WORKITEM fungsi panggilan balik (wdfinterrupt.h)
[Berlaku untuk KMDF dan UMDF]
Fungsi panggilan balik peristiwa EvtInterruptWorkItem driver memproses informasi interupsi yang telah disimpan fungsi panggilan balik EvtInterruptIsr driver.
Sintaks
EVT_WDF_INTERRUPT_WORKITEM EvtWdfInterruptWorkitem;
void EvtWdfInterruptWorkitem(
[in] WDFINTERRUPT Interrupt,
[in] WDFOBJECT AssociatedObject
)
{...}
Parameter
[in] Interrupt
Handel ke objek interupsi kerangka kerja.
[in] AssociatedObject
Handel ke objek perangkat kerangka kerja yang diteruskan driver ke WdfInterruptCreate.
Nilai kembali
Tidak ada
Keterangan
Fungsi panggilan balik EvtInterruptWorkItem berjalan di IRQL = PASSIVE_LEVEL.
Untuk mendaftarkan fungsi panggilan balik EvtInterruptWorkItem , driver Anda harus menempatkan alamat fungsi panggilan balik dalam struktur WDF_INTERRUPT_CONFIG sebelum memanggil WdfInterruptCreate.
Sebagian besar driver menggunakan satu fungsi panggilan balik EvtInterruptWorkItem untuk setiap jenis gangguan.
Untuk menjadwalkan eksekusi fungsi panggilan balik EvtInterruptWorkItem , driver harus memanggil WdfInterruptQueueWorkItemForIsr dari dalam fungsi panggilan balik EvtInterruptIsr .
Jika driver Anda membuat beberapa objek interupsi kerangka kerja untuk setiap perangkat, Anda mungkin mempertimbangkan untuk menggunakan panggilan balik EvtInterruptWorkItem terpisah untuk setiap gangguan.
Driver yang menerapkan penanganan gangguan DIRQL atau penanganan gangguan tingkat pasif dapat mengantre panggilan balik EvtInterruptWorkItem .
Driver tidak dapat mengantrekan panggilan balik EvtInterruptDpc dan EvtInterruptWorkItem .
Jika driver telah mengatur anggota AutomaticSerialization ke TRUE dalam struktur WDF_INTERRUPT_CONFIG interupsi, kerangka kerja menyinkronkan eksekusi fungsi panggilan balik EvtInterruptWorkItem objek interupsi dengan fungsi panggilan balik dari objek lain yang berada di bawah objek induk interupsi. Untuk informasi tentang kunci sinkronisasi panggilan balik, lihat Menggunakan Kunci Kerangka Kerja.
Secara umum, jika driver perlu memperoleh kunci pasif objek interupsi dari dalam EvtInterruptWorkItem, driver harus mengatur anggota AutomaticSerializationWDF_INTERRUPT_CONFIG ke FALSE lalu memanggil WdfInterruptAcquireLock dari dalam EvtInterruptWorkItem.
Jika AutomaticSerialization diatur ke TRUE, fungsi panggilan balik EvtInterruptWorkItem driver tidak boleh memanggil salah satu metode berikut:
WdfInterruptAcquireLockWdfInterruptSynchronizeWdfInterruptDisableWdfInterruptEnable Untuk informasi selengkapnya tentang penanganan gangguan dalam driver berbasis kerangka kerja, lihat Menangani Gangguan Perangkat Keras.
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Universal |
Versi KMDF minimum | 1.11 |
Versi UMDF minimum | 2.0 |
Header | wdfinterrupt.h (termasuk Wdf.h) |
IRQL | PASSIVE_LEVEL |
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk