EVT_WDF_INTERRUPT_SYNCHRONIZE funzione di callback (wdfinterrupt.h)
[Si applica a KMDF e UMDF]
La funzione di callback dell'evento EvtInterruptSynchronize di un driver esegue operazioni che devono essere sincronizzate con una funzione di callback EvtInterruptIsr .
Sintassi
EVT_WDF_INTERRUPT_SYNCHRONIZE EvtWdfInterruptSynchronize;
BOOLEAN EvtWdfInterruptSynchronize(
[in] WDFINTERRUPT Interrupt,
[in] WDFCONTEXT Context
)
{...}
Parametri
[in] Interrupt
Handle per un oggetto interrupt del framework.
[in] Context
Informazioni fornite dal driver che il driver specifica quando chiama WdfInterruptSynchronize.
Valore restituito
La funzione di callback EvtInterruptSynchronize deve restituire TRUE se l'operazione ha esito positivo. In caso contrario, questa funzione deve restituire FALSE.
Commenti
Per eseguire una funzione di callback EvtInterruptSynchronize , il driver deve chiamare WdfInterruptSynchronize.
Se il driver ha configurato l'oggetto interrupt per la gestione in IRQL (DIRQL) del dispositivo, prima di chiamare la funzione di callback EvtInterruptSynchronize , il framework genera il livello di richiesta di interruzione del processore a DIRQL e acquisisce il blocco di selezione specificato dal driver nella struttura di WDF_INTERRUPT_CONFIG dell'oggetto interrupt.
Di conseguenza, mentre è in esecuzione una funzione di callback EvtInterruptSynchronize , non è possibile eseguire la funzione di callback evtInterruptIsr dell'oggetto interrupt e qualsiasi altro codice eseguito in DIRQL tenendo premuto il blocco spin.
Le funzioni di callback EvtInterruptSynchronize devono essere progettate in modo che vengano eseguite solo per un breve periodo di tempo. Vengono in genere usati per accedere ai dati di interrupt a cui si accede anche da altre funzioni di callback evtInterruptSynchronize o EvtInterruptIsr di un oggetto interrupt.
A partire dalla versione 1.11 di KMDF, il driver può fornire la gestione degli interrupt a livello passivo. Se il driver ha richiesto la gestione degli interrupt a livello passivo, prima di chiamare la funzione EvtInterruptSynchronize in IRQL = PASSIVE_LEVEL, il framework acquisisce il blocco di interrupt a livello passivo configurato dal driver nella struttura di WDF_INTERRUPT_CONFIG dell'oggetto interrupt.
Per altre informazioni sulla funzione di callback EvtInterruptSynchronize , vedere Synchronizing Interrupt Code .For more information about the EvtInterruptSynchronize callback function, see Synchronizing Interrupt Code.
Per altre informazioni sulla gestione degli interrupt nei driver basati su framework, vedere Gestione degli interrupt hardware.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Universale |
Versione KMDF minima | 1.0 |
Versione UMDF minima | 2,0 |
Intestazione | wdfinterrupt.h (include Wdf.h) |
IRQL | Vedere la sezione Note. |