Funzione WdfInterruptQueueWorkItemForIsr (wdfinterrupt.h)
[Si applica a KMDF e UMDF]
Il metodo WdfInterruptQueueWorkItemForIsr accoda una funzione di callback evtInterruptWorkItem dell'oggetto di interruzione del framework.
Sintassi
BOOLEAN WdfInterruptQueueWorkItemForIsr(
[in] WDFINTERRUPT Interrupt
);
Parametri
[in] Interrupt
Handle per un oggetto di interruzione del framework.
Valore restituito
Se l'ISR del driver è in esecuzione in IRQL = PASSIVE_LEVEL, WdfInterruptQueueWorkItemForIsr restituisce TRUE se accoda correttamente la funzione di callback dell'oggetto interrupt EvtInterruptWorkItem . Il metodo restituisce FALSE se la funzione di callback è stata in precedenza accodata e non è stata eseguita.
Se l'ISR del driver è in esecuzione in IRQL = DIRQL, il framework esegue prima una coda DPC interna e quindi accoda un elemento di lavoro da tale DPC. In questo caso, WdfInterruptQueueWorkItemForIsr restituisce TRUE se il framework accoda correttamente il DPC interno. Il metodo restituisce FALSE se il DPC interno è stato accodato in precedenza.
Un controllo di bug si verifica se il driver fornisce un handle di oggetti non valido.
Commenti
I driver in genere chiamano WdfInterruptQueueWorkItemForIsr dall'interno di una funzione di callback EvtInterruptIsr .
La funzione di callback evtInterruptWorkItem di un oggetto di interruzione può essere accodata una sola volta prima dell'esecuzione. Pertanto, se una chiamata a WdfInterruptQueueWorkItemForIsr ha esito positivo, le chiamate successive non accoderanno callback aggiuntivi.
Per altre informazioni sulla gestione degli interruzioni nei driver basati su framework, vedere Gestione degli interruzioni hardware.
Si verifica un controllo di bug se i driver chiamano WdfInterruptQueueWorkItemForIsr con un oggetto interrupt che non specifica una funzione di callback EvtInterruptWorkItem .
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Universale |
Versione KMDF minima | 1.11 |
Versione UMDF minima | 2,0 |
Intestazione | wdfinterrupt.h (include Wdf.h) |
Libreria | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL | <=DIRQL |
Regole di conformità DDI | DriverCreate(kmdf) |