Freigeben über


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

Weitere Informationen

EvtInterruptIsr

WDF_INTERRUPT_CONFIG

WdfInterruptSynchronisieren