EVT_WDF_INTERRUPT_SYNCHRONIZE Rückruffunktion (wdfinterrupt.h)
[Gilt für KMDF und UMDF]
Die EvtInterruptSynchronize-Ereignisrückruffunktion eines Treibers führt Vorgänge aus, die mit einer EvtInterruptIsr-Rückruffunktion synchronisiert werden müssen.
Syntax
EVT_WDF_INTERRUPT_SYNCHRONIZE EvtWdfInterruptSynchronize;
BOOLEAN EvtWdfInterruptSynchronize(
[in] WDFINTERRUPT Interrupt,
[in] WDFCONTEXT Context
)
{...}
Parameter
[in] Interrupt
Ein Handle für ein Framework-Interruptobjekt.
[in] Context
Vom Treiber bereitgestellte Informationen, die der Treiber beim Aufrufen von WdfInterruptSynchronize angibt.
Rückgabewert
Die Rückruffunktion EvtInterruptSynchronize muss TRUE zurückgeben, wenn der Vorgang erfolgreich ist. Andernfalls muss diese Funktion FALSE zurückgeben.
Hinweise
Um eine EvtInterruptSynchronize-Rückruffunktion auszuführen, muss der Treiber WdfInterruptSynchronize aufrufen.
Wenn der Treiber das Interruptobjekt für die Behandlung am IRQL (DIRQL) des Geräts konfiguriert hat, hebt das Framework vor dem Aufruf der Rückruffunktion EvtInterruptSynchronize die Interruptanforderungsebene des Prozessors auf DIRQL und ruft die Drehsperre ab, die der Treiber in der WDF_INTERRUPT_CONFIG-Struktur des Interruptobjekts angegeben hat.
Daher können die EvtInterruptIsr-Rückruffunktion des Interruptobjekts (und jeder andere Code, der bei DIRQL ausgeführt wird, während die Drehsperre gedrückt wird) nicht ausgeführt werden.
EvtInterruptSynchronize-Rückruffunktionen müssen so konzipiert sein, dass sie nur für einen kurzen Zeitraum ausgeführt werden. Sie werden in der Regel für den Zugriff auf Interruptdaten verwendet, auf die auch die anderen Rückruffunktionen EvtInterruptSynchronize oder EvtInterruptIsr eines Interruptobjekts zugreifen.
Ab Version 1.11 von KMDF kann Ihr Treiber die Behandlung von Interrupts auf passiver Ebene bereitstellen. Wenn der Treiber die Behandlung von Interrupt auf passiver Ebene angefordert hat, ruft das Framework vor dem Aufrufen der Funktion EvtInterruptSynchronize bei IRQL = PASSIVE_LEVEL die Interruptsperre auf passiver Ebene ab, die der Treiber in der WDF_INTERRUPT_CONFIG Struktur des Interruptobjekts konfiguriert hat.
Weitere Informationen zur Rückruffunktion EvtInterruptSynchronize finden Sie unter Synchronisieren von Interruptcode.
Weitere Informationen zum Behandeln von Interrupts in frameworkbasierten Treibern finden Sie unter Behandeln von Hardwareunterbrechungen.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Universell |
KMDF-Mindestversion | 1.0 |
UMDF-Mindestversion | 2.0 |
Kopfzeile | wdfinterrupt.h (einschließen von Wdf.h) |
IRQL | (Siehe Abschnitt Hinweise.) |