Partager via


WdfInterruptQueueWorkItemForIsr, fonction (wdfinterrupt.h)

[S’applique à KMDF et UMDF]

La méthode WdfInterruptQueueWorkItemForIsr met en file d’attente la fonction de rappel EvtInterruptWorkItem d’un objet d’interruption de framework pour l’exécution.

Syntaxe

BOOLEAN WdfInterruptQueueWorkItemForIsr(
  [in] WDFINTERRUPT Interrupt
);

Paramètres

[in] Interrupt

Handle vers un objet d’interruption de framework.

Valeur de retour

Si l’ISR du pilote s’exécute à IRQL = PASSIVE_LEVEL, WdfInterruptQueueWorkItemForIsr retourne TRUE si elle met correctement en file d’attente la fonction de rappel de l’objet d’interruption EvtInterruptWorkItem fonction de rappel. La méthode retourne FAUX si la fonction de rappel a été précédemment mise en file d’attente et n’a pas été exécutée.

Si l’ISR du pilote s’exécute à IRQL = DIRQL, l’infrastructure met d’abord en file d’attente une DPC interne, puis met en file d’attente un élément de travail à partir de cette DPC. Dans ce cas, WdfInterruptQueueWorkItemForIsr retourne TRUE si l’infrastructure met correctement en file d’attente le DPC interne. La méthode retourne FAUX si le DPC interne a été précédemment mis en file d’attente.

Une vérification de bogue se produit si le pilote fournit un handle d’objet non valide.

Remarques

Les pilotes appellent généralement WdfInterruptQueueWorkItemForIsr à partir d’une fonction de rappel EvtInterruptIsr.

La fonction de rappel EvtInterruptWorkItem d’un objet d’interruption ne peut être mise en file d’attente qu’une seule fois avant son exécution. Par conséquent, si un appel à WdfInterruptQueueWorkItemForIsr réussit, les appels suivants ne met pas en file d’attente des rappels supplémentaires.

Pour plus d’informations sur la gestion des interruptions dans les pilotes basés sur l’infrastructure, consultez Gestion des interruptions matérielles.

Une vérification de bogue se produit si les pilotes appellent WdfInterruptQueueWorkItemForIsr avec un objet d’interruption qui ne spécifie pas de fonction de rappel EvtInterruptWorkItem.

Spécifications

Besoin Valeur
plateforme cible Universel
version minimale de KMDF 1.11
version minimale de UMDF 2.0
En-tête wdfinterrupt.h (include Wdf.h)
Bibliothèque Wdf01000.sys (KMDF) ; WUDFx02000.dll (UMDF)
IRQL <=DIRQL
règles de conformité DDI DriverCreate(kmdf)

Voir aussi

EvtInterruptDpc

EvtInterruptIsr

WdfInterruptCreate

WdfInterruptQueueDpcForIsr