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) |