Metodo IInterruptSync::CallSynchronizedRoutine (portcls.h)
Il CallSynchronizedRoutine
metodo chiama una routine che non è una routine del servizio di interruzione (ISR), ma la cui esecuzione deve essere sincronizzata con gli ISR.
Sintassi
NTSTATUS CallSynchronizedRoutine(
[in] PINTERRUPTSYNCROUTINE Routine,
[in] PVOID DynamicContext
);
Parametri
[in] Routine
Puntatore alla routine da chiamare. Questa routine eseguirà l'esclusiva dell'ISR dell'oggetto e tutte le altre routine sincronizzate tramite l'oggetto. Anche nei computer con più processori, le routine sincronizzate da un determinato oggetto non verranno eseguite simultaneamente. Questo parametro è un puntatore di funzione di tipo PINTERRUPTSYNCROUTINE (vedere IInterruptSync).
[in] DynamicContext
Valore di contesto da passare alla routine.
Valore restituito
CallSynchronizedRoutine
restituisce STATUS_SUCCESS se la chiamata ha esito positivo. In caso contrario, il metodo restituisce un codice di errore appropriato.
Commenti
L'esecuzione di qualsiasi ISR registrata è garantita fino al completamento della chiamata alla routine passata.CallSynchronizedRoutine
I chiamanti di CallSynchronizedRoutine
devono essere in esecuzione in un irQL minore o uguale al livello dell'interruzione associato all'oggetto di sincronizzazione. Questo interruzione è stato specificato dai parametri ResourceList e ResourceIndex della funzione PcNewInterruptSync.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Universale |
Intestazione | portcls.h (includere Portcls.h) |
IRQL | Vedere La sezione Osservazioni. |