IInterruptSync::CallSynchronizedRoutine-Methode (portcls.h)
Die CallSynchronizedRoutine
-Methode ruft eine Routine auf, die keine Interruptdienstroutine (ISR) ist, deren Ausführung jedoch mit ISRs synchronisiert werden muss.
Syntax
NTSTATUS CallSynchronizedRoutine(
[in] PINTERRUPTSYNCROUTINE Routine,
[in] PVOID DynamicContext
);
Parameter
[in] Routine
Zeiger auf die Routine, die aufgerufen werden soll. Diese Routine wird ohne den ISR des Objekts und alle anderen Routinen ausgeführt, die über das -Objekt synchronisiert werden. Selbst auf Computern mit mehreren Prozessoren werden Routinen, die von einem bestimmten Objekt synchronisiert werden, nicht gleichzeitig ausgeführt. Dieser Parameter ist ein Funktionszeiger vom Typ PINTERRUPTSYNCROUTINE (siehe IInterruptSync).
[in] DynamicContext
Ein Kontextwert, der an die Routine übergeben werden soll.
Rückgabewert
CallSynchronizedRoutine
gibt STATUS_SUCCESS zurück, wenn der Aufruf erfolgreich war. Andernfalls gibt die Methode einen entsprechenden Fehlercode zurück.
Hinweise
Die Ausführung einer registrierten ISR wird garantiert verhindert, bis der Aufruf der Routine, an die übergeben CallSynchronizedRoutine
wird, abgeschlossen ist.
Aufrufer von CallSynchronizedRoutine
müssen auf einer IRQL ausgeführt werden, die kleiner oder gleich der Ebene des Interrupts ist, die dem Synchronisierungsobjekt zugeordnet ist. Dieser Interrupt wurde durch die Parameter ResourceList und ResourceIndex der PcNewInterruptSync-Funktion angegeben.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Universell |
Header | portcls.h (include Portcls.h) |
IRQL | Weitere Informationen finden Sie im Abschnitt mit den Hinweisen. |