NdisSetTimerObject, fonction (ndis.h)
La fonction NdisSetTimerObject définit un objet de minuteur à déclencher après un intervalle spécifié ou régulièrement.
Syntaxe
BOOLEAN NdisSetTimerObject(
[in] NDIS_HANDLE TimerObject,
[in] LARGE_INTEGER DueTime,
[in, optional] LONG MillisecondsPeriod,
[in, optional] PVOID FunctionContext
);
Paramètres
[in] TimerObject
Handle d’un objet de minuteur fourni par NDIS lorsqu’un pilote appelle le Fonction NdisAllocateTimerObject .
[in] DueTime
Heure absolue ou relative à laquelle le minuteur doit expirer. Si la valeur du paramètre DueTime est négative, le délai d’expiration est relatif à l’heure système actuelle. Sinon, le délai d’expiration est absolu. Le temps d’expiration est exprimé en unités de temps système (intervalles de 100 nanosecondes). Les temps d’expiration absolus suivent les modifications apportées à l’heure système ; les temps d’expiration relatifs ne sont pas affectés par les changements d’heure système.
[in, optional] MillisecondsPeriod
Intervalle de temps périodique, en millisecondes, qui s’écoule entre chaque déclenchement du minuteur et l’appel suivant à la fonction NetTimerCallback , sauf si le minuteur est annulé. La valeur de ce paramètre doit être inférieure ou égale à MAXLONG.
[in, optional] FunctionContext
Pointeur vers une zone de contexte fournie par l’appelant que NDIS transmet à la fonction NetTimerCallback associée lorsqu’un minuteur se déclenche. Si ce paramètre a la valeur NULL, NDIS utilise la valeur par défaut spécifiée dans le NDIS_TIMER_CHARACTERISTICS structure.
Valeur retournée
NdisSetTimerObject retourne TRUE si l’objet du minuteur se trouvait déjà dans la file d’attente du minuteur système ; sinon, elle retourne FALSE.
Remarques
Après qu’un pilote a appelé NdisSetTimerObject, l’objet minuteur est mis en file d’attente jusqu’à l’expiration de l’intervalle spécifié dans le paramètre DueTime . Une fois l’intervalle expiré, l’objet du minuteur est supprimé de la file d’attente et la fonction NetTimerCallback fournie par l’appelant est exécutée une fois à IRQL = DISPATCH_LEVEL dès qu’un processeur devient disponible.
Si une valeur différente de zéro est spécifiée dans le paramètre MillisecondsPeriod , l’objet minuteur est à nouveau mis en file d’attente jusqu’à ce que l’intervalle spécifié dans MillisecondsPeriod expire. Une fois cet intervalle expiré, l’objet du minuteur est mis en file d’attente de nouveau et la fonction NetTimerCallback fournie par l’appelant est exécutée une seule fois à IRQL = DISPATCH_LEVEL dès qu’un processeur est disponible.
Pour annuler un minuteur, appelez la fonction NdisCancelTimerObject .
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Pris en charge dans NDIS 6.0 et versions ultérieures. |
Plateforme cible | Universal |
En-tête | ndis.h (inclure Ndis.h) |
Bibliothèque | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
Règles de conformité DDI | Irql_Timer_Function(ndis), PeriodicTimer(ndis) |