Partager via


WUDF_INTERRUPT_WORKITEM fonction de rappel (wudfinterrupt.h)

[Avertissement : UMDF 2 est la dernière version d’UMDF et remplace UMDF 1. Tous les nouveaux pilotes UMDF doivent être écrits à l’aide d’UMDF 2. Aucune nouvelle fonctionnalité n’est ajoutée à UMDF 1 et la prise en charge d’UMDF 1 est limitée sur les versions plus récentes de Windows 10. Les pilotes Windows universels doivent utiliser UMDF 2. Pour plus d’informations, consultez Prise en main avec UMDF.]

La fonction de rappel d’événement OnInterruptWorkItem d’un pilote traite les informations d’interruption stockées par la fonction de rappel OnInterruptIsr du pilote.

Syntaxe

WUDF_INTERRUPT_WORKITEM WudfInterruptWorkitem;

void WudfInterruptWorkitem(
  [in] IWDFInterrupt *Interrupt,
  [in] IWDFObject *AssociatedObject
)
{...}

Paramètres

[in] Interrupt

Pointeur vers l’interface d’objet d’interruption associée à l’élément de travail.

[in] AssociatedObject

Pointeur vers l’objet associé.

Valeur de retour

None

Remarques

Pour inscrire une fonction de rappel OnInterruptWorkItem , votre pilote doit placer l’adresse de la fonction de rappel dans une structure de WUDF_INTERRUPT_CONFIG avant d’appeler IWDFDevice3 ::CreateInterrupt.

Après l’arrêt et la reconnaissance de l’interruption, le pilote doit revenir rapidement à partir de son rappel OnInterruptIsr , reportant tout traitement supplémentaire à un rappel OnInterruptWorkItem .

Pour plus d’informations sur la gestion des interruptions dans les pilotes UMDF, consultez Accès au matériel et Gestion des interruptions.

Exemples

Le type de fonction est déclaré dans Wudfworkitem.h, comme suit.

typedef
_Function_class_(WUDF_INTERRUPT_WORKITEM)
VOID
WUDF_INTERRUPT_WORKITEM(
    _In_
    IWDFInterrupt* Interrupt,
    _In_
    IWDFObject* AssociatedObject
    );

typedef WUDF_INTERRUPT_WORKITEM *PFN_WUDF_INTERRUPT_WORKITEM;

Pour définir une fonction de rappel OnInterruptWorkItem nommée MyInterruptWorkItem, vous devez d’abord fournir une déclaration de fonction requise par SDV et d’autres outils de vérification, comme suit :

WUDF_INTERRUPT_WORKITEM  MyInterruptWorkItem;

Ensuite, implémentez votre fonction de rappel comme suit :

VOID
  MyInterruptWorkItem (
    _In_
    IWDFInterrupt* Interrupt,
    _In_
    IWDFObject* AssociatedObject
    )
  {…}

Configuration requise

Condition requise Valeur
Fin de la prise en charge Non disponible dans UMDF 2.0 et versions ultérieures.
Plateforme cible Desktop (Expérience utilisateur)
Version UMDF minimale 1.11
En-tête wudfinterrupt.h

Voir aussi

IWDFDevice3 ::CreateInterrupt

WUDF_INTERRUPT_CONFIG