Bagikan melalui


Fungsi WdfInterruptQueueWorkItemForIsr (wdfinterrupt.h)

[Berlaku untuk KMDF dan UMDF]

Metode WdfInterruptQueueWorkItemForIsr mengantre fungsi panggilan balik EvtInterruptWorkItem objek interupsi untuk eksekusi.

Sintaks

BOOLEAN WdfInterruptQueueWorkItemForIsr(
  [in] WDFINTERRUPT Interrupt
);

Parameter

[in] Interrupt

Handel ke objek interupsi kerangka kerja.

Nilai kembali

Jika ISR driver berjalan di IRQL = PASSIVE_LEVEL, WdfInterruptQueueWorkItemForIsr mengembalikan TRUE jika berhasil mengantre fungsi panggilan balik EvtInterruptWorkItem objek interupsi. Metode mengembalikan FALSE jika fungsi panggilan balik sebelumnya diantrekan dan belum dijalankan.

Jika ISR driver berjalan di IRQL = DIRQL, kerangka kerja terlebih dahulu mengantre DPC internal dan kemudian mengantre item kerja dari DPC tersebut. Dalam hal ini, WdfInterruptQueueWorkItemForIsr mengembalikan TRUE jika kerangka kerja berhasil mengantre DPC internal. Metode mengembalikan FALSE jika DPC internal sebelumnya diantrekan.

Pemeriksaan bug terjadi jika driver menyediakan handel objek yang tidak valid.

Keterangan

Driver biasanya memanggil WdfInterruptQueueWorkItemForIsr dari dalam fungsi panggilan balik EvtInterruptIsr .

Fungsi panggilan balik EvtInterruptWorkItem objek interupsi hanya dapat diantrekan sekali sebelum dijalankan. Oleh karena itu, jika panggilan ke WdfInterruptQueueWorkItemForIsr berhasil, panggilan berikutnya tidak akan mengantre panggilan balik tambahan.

Untuk informasi selengkapnya tentang penanganan gangguan dalam driver berbasis kerangka kerja, lihat Menangani Gangguan Perangkat Keras.

Pemeriksaan bug terjadi jika driver memanggil WdfInterruptQueueWorkItemForIsr dengan objek interupsi yang tidak menentukan fungsi panggilan balik EvtInterruptWorkItem .

Persyaratan

Persyaratan Nilai
Target Platform Universal
Versi KMDF minimum 1.11
Versi UMDF minimum 2.0
Header wdfinterrupt.h (termasuk Wdf.h)
Pustaka Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL <=DIRQL
Aturan kepatuhan DDI DriverCreate(kmdf)

Lihat juga

EvtInterruptDpc

EvtInterruptIsr

WdfInterruptCreate

WdfInterruptQueueDpcForIsr