Freigeben über


WdfInterruptQueueWorkItemForIsr-Funktion (wdfinterrupt.h)

[Gilt für KMDF und UMDF]

Die WdfInterruptQueueWorkItemForIsr-Methode stellt die Rückruffunktion EvtInterruptWorkItem eines Framework-Interruptobjekts für die Ausführung in die Warteschlange.

Syntax

BOOLEAN WdfInterruptQueueWorkItemForIsr(
  [in] WDFINTERRUPT Interrupt
);

Parameter

[in] Interrupt

Ein Handle für ein Framework-Interruptobjekt.

Rückgabewert

Wenn der ISR des Treibers unter IRQL = PASSIVE_LEVEL ausgeführt wird, gibt WdfInterruptQueueWorkItemForIsrTRUE zurück, wenn die EvtInterruptWorkItem-Rückruffunktion des Interruptobjekts erfolgreich in die Warteschlange gestellt wird. Die -Methode gibt FALSE zurück, wenn die Rückruffunktion zuvor in eine Warteschlange eingereiht wurde und nicht ausgeführt wurde.

Wenn der ISR des Treibers unter IRQL = DIRQL ausgeführt wird, stellt das Framework zuerst eine interne DPC in die Warteschlange und dann ein Arbeitselement aus diesem DPC in die Warteschlange. In diesem Fall gibt WdfInterruptQueueWorkItemForIsrTRUE zurück, wenn das Framework den internen DPC erfolgreich in die Warteschlange stellt. Die Methode gibt FALSE zurück, wenn der interne DPC zuvor in eine Warteschlange eingereiht wurde.

Eine Fehlerüberprüfung tritt auf, wenn der Treiber ein ungültiges Objekthandle bereitstellt.

Hinweise

Treiber rufen in der Regel WdfInterruptQueueWorkItemForIsr innerhalb einer EvtInterruptIsr-Rückruffunktion auf.

Die Rückruffunktion EvtInterruptWorkItem eines Interruptobjekts kann nur einmal in die Warteschlange gestellt werden, bevor es ausgeführt wird. Wenn also ein Aufruf von WdfInterruptQueueWorkItemForIsr erfolgreich ist, werden nachfolgende Aufrufe keine zusätzlichen Rückrufe in die Warteschlange stellen.

Weitere Informationen zum Behandeln von Interrupts in frameworkbasierten Treibern finden Sie unter Behandeln von Hardwareunterbrechungen.

Eine Fehlerüberprüfung tritt auf, wenn Treiber WdfInterruptQueueWorkItemForIsr mit einem Interruptobjekt aufrufen, das keine EvtInterruptWorkItem-Rückruffunktion angibt.

Anforderungen

Anforderung Wert
Zielplattform Universell
KMDF-Mindestversion 1.11
UMDF-Mindestversion 2.0
Kopfzeile wdfinterrupt.h (einschließen von Wdf.h)
Bibliothek Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL <=DIRQL
DDI-Complianceregeln DriverCreate(kmdf)

Weitere Informationen

EvtInterruptDpc

EvtInterruptIsr

WdfInterruptCreate

WdfInterruptQueueDpcForIsr