NdisSetTimerObject, fonction (ndis.h)
La fonction NdisSetTimerObject définit un objet 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 vers un objet 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, l’heure d’expiration est relative à l’heure système actuelle. Sinon, le temps d’expiration est absolu. Le temps d’expiration est exprimé en unités de temps système (intervalles de 100 nanosecondes). Les heures d’expiration absolues suivent les modifications apportées à l’heure système ; les heures d’expiration relatives ne sont pas affectées par les modifications de temps système.
[in, optional] MillisecondsPeriod
Intervalle de temps périodique, en millisecondes, qui s’écoule entre chaque fois que le minuteur se déclenche 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 NetTimerCall back associée lorsqu’un minuteur se déclenche. Si ce paramètre est null, NDIS utilise la valeur par défaut spécifiée dans le structure NDIS_TIMER_CHARACTERISTICS.
Valeur de retour
NdisSetTimerObject retourne TRUE si l’objet minuteur était déjà dans la file d’attente du minuteur système ; sinon, elle retourne FALSE.
Remarques
Une fois qu’un pilote appelle NdisSetTimerObject, l’objet minuteur est mis en file d’attente jusqu’à ce que l’intervalle spécifié dans le paramètre DueTime expire. Une fois l’intervalle expiré, l’objet minuteur est mis en file d’attente et la fonction NetTimerCall back fournie par l’appelant est exécutée une fois à IRQL = DISPATCH_LEVEL dès qu’un processeur est disponible.
Si une valeur différente de zéro est spécifiée dans le paramètre MillisecondsPeriod, l’objet minuteur est de 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 à la file d’attente et la fonction NetTimerCall back fournie par l’appelant est exécutée une fois à IRQL = DISPATCH_LEVEL dès qu’un processeur est disponible.
Pour annuler un minuteur, appelez la fonction NdisCancelTimerObject.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Prise en charge dans NDIS 6.0 et versions ultérieures. |
plateforme cible | Universel |
d’en-tête | ndis.h (include Ndis.h) |
bibliothèque | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
règles de conformité DDI | Irql_Timer_Function(ndis), PeriodicTimer(ndis) |