Partager via


EVT_WDF_TIMER fonction de rappel (wdftimer.h)

[S’applique à KMDF et UMDF]

La fonction de rappel d’événement EvtTimerFunc est appelée lorsqu’une période spécifiée s’est écoulée.

Syntaxe

EVT_WDF_TIMER EvtWdfTimer;

void EvtWdfTimer(
  [in] WDFTIMER Timer
)
{...}

Paramètres

[in] Timer

Handle pour un objet de minuteur d’infrastructure qui a été obtenu à partir d’un appel précédent à WdfTimerCreate.

Valeur de retour

None

Remarques

Pour inscrire une fonction de rappel EvtTimerFunc et spécifier la période qui doit s’écouler avant que l’infrastructure appelle cette fonction, votre pilote doit appeler WdfTimerCreate.

Dans les versions KMDF antérieures à la version 1.9, l’infrastructure implémente les fonctions de rappel EvtTimerFunc en tant qu’appels de procédure différée (DDC). Par conséquent, lorsqu’une période s’écoule, le système ajoute un appel à une fonction de rappel EvtTimerFunc à une file d’attente DPC. Le système appelle la fonction de rappel EvtTimerFunc à IRQL = DISPATCH_LEVEL lorsqu’il atteint l’avant de la file d’attente et qu’un processeur qui s’exécute à IRQL < DISPATCH_LEVEL est disponible.

Dans les versions KMDF 1.9 et ultérieures, par défaut, l’infrastructure implémente les fonctions de rappel EvtTimerFunc en tant que DDC. Si le pilote définit le niveau d’exécution de l’objet minuteur sur WdfExecutionLevelPassive, l’infrastructure appelle la fonction de rappel EvtTimerFunc à partir d’un élément de travail à l’emplacement IRQL = PASSIVE_LEVEL.

Notes

Si une fonction de rappel EvtTimerFunc s’exécutant à PASSIVE_LEVEL appelle WdfObjectDelete, cela entraîne un blocage. Au lieu de cela, attendez que le parent supprime automatiquement le minuteur lorsque l’appareil est supprimé ou, si vous devez supprimer tôt, planifiez un élément de travail à partir du rappel du minuteur pour supprimer le minuteur.

À compter d’UMDF version 2.0, les fonctions de rappel EvtTimerFunc d’un pilote UMDF s’exécutent toujours à PASSIVE_LEVEL.

Pour plus d’informations sur les objets du minuteur d’infrastructure, consultez Utilisation des minuteurs.

Configuration requise

Condition requise Valeur
Plateforme cible Universal
Version KMDF minimale 1.0
Version UMDF minimale 2.0
En-tête wdftimer.h (inclure Wdf.h)
IRQL Consultez la section Notes.

Voir aussi

WdfTimerCreate