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. |