Condividi tramite


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.

Vedi anche

IInterruptSync

KeSynchronizeExecution

PcNewInterruptSync