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
)
{...}
Die Parameter
[in] Interrupt
Ein Handle zu einem Framework-Interruptobjekt.
[in] Context
Vom Treiber bereitgestellte Informationen, die der Treiber angibt, wenn er WdfInterruptSynchronizeaufruft.
Rückgabewert
Die EvtInterruptSynchronize Rückruffunktion muss TRUE- zurückgeben, wenn der Vorgang erfolgreich ist. Andernfalls muss diese Funktion FALSE-zurückgeben.
Bemerkungen
Um eine EvtInterruptSynchronize Rückruffunktion auszuführen, muss der Treiber WdfInterruptSynchronizeaufrufen.
Wenn der Treiber das Interruptobjekt für die Behandlung an der IRQL (DIRQL) des Geräts konfiguriert hat, löst das Framework vor dem Aufrufen der EvtInterruptSynchronize Rückruffunktion die Interruptanforderungsebene des Prozessors auf DIRQL aus und ruft die Drehsperre ab, die der Treiber in der WDF_INTERRUPT_CONFIG Struktur des Interruptobjekts angegeben hat.
Während eine EvtInterruptSynchronize Rückruffunktion ausgeführt wird, kann die EvtInterruptIsr Rückruffunktion (und alle anderen Code, der beim Halten der Drehsperre ausgeführt wird) nicht ausgeführt werden.
EvtInterruptSynchronize- Rückruffunktionen müssen so entworfen werden, dass sie nur für einen kurzen Zeitraum ausgeführt werden. Sie werden in der Regel verwendet, um auf Unterbrechungsdaten zuzugreifen, auf die auch von den anderen EvtInterruptSynchronize oder EvtInterruptIsr Rückruffunktionen eines Interruptobjekts zugegriffen wird.
Ab Version 1.11 von KMDF kann Ihr Treiber passive Unterbrechungsbehandlungbereitstellen. Wenn der Treiber die Behandlung von Unterbrechungen auf passiver Ebene angefordert hat, ruft das Framework die EvtInterruptSynchronize-Funktion bei IRQL = PASSIVE_LEVEL auf, ruft das Framework die Passive-Level-Interrupt-Sperre ab, die der Treiber in der WDF_INTERRUPT_CONFIG Struktur des Interruptobjekts konfiguriert hat.
Weitere Informationen zur EvtInterruptSynchronize Rückruffunktion finden Sie unter Synchronizing Interrupt Code.
Weitere Informationen zum Behandeln von Unterbrechungen in frameworkbasierten Treibern finden Sie unter Behandeln von Hardware-Interrupts.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | universell |
Minimale KMDF-Version | 1.0 |
Mindest-UMDF-Version | 2.0 |
Kopfzeile | wdfinterrupt.h (einschließen Wdf.h) |
IRQL | (Siehe Abschnitt "Hinweise".) |