Condividi tramite


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)

Vedi anche

EvtInterruptDpc

EvtInterruptIsr

WdfInterruptCreate

WdfInterruptQueueDpcForIsr