Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
[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 vers un objet de minuteur de framework obtenu à partir d’un appel précédent à WdfTimerCreate.
Valeur de retour
Aucun
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 EvtTimerFunc fonctions de rappel en tant qu’appels de procédure différée (DPCs). Par conséquent, lorsqu’une période s’écoule, le système ajoute un appel à une EvtTimerFunc fonction de rappel à 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 s’exécute au < DISPATCH_LEVEL IRQL est disponible.
Dans les versions 1.9 et ultérieures de KMDF, par défaut, l’infrastructure implémente EvtTimerFunc fonctions de rappel en tant que DPC. Sinon, 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 à IRQL = PASSIVE_LEVEL.
Note
Si une fonction de rappel EvtTimerFunc exécutée à 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 du rappel du minuteur pour supprimer le minuteur.
À compter de UMDF version 2.0, les fonctions de rappel evtTimerFunc du pilote UMDF s’exécutent toujours à PASSIVE_LEVEL.
Pour plus d’informations sur les objets du minuteur de framework, consultez Using Timers.
Exigences
| Exigence | Valeur |
|---|---|
| plateforme cible | Universel |
| version minimale de KMDF | 1.0 |
| version minimale de UMDF | 2.0 |
| d’en-tête | wdftimer.h (include Wdf.h) |
| IRQL | Voir la section Remarques. |