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