Partager via


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.

Remarque à partir de Windows 7, vous pouvez réduire la consommation d’énergie en appelant NdisSetCoalescableTimerObject au lieu de NdisSetTimerObject si la précision exacte du minuteur n’est pas requise.
 
Pour plus d’informations sur le comportement du minuteur, consultez KeSetTimerEx.

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)

Voir aussi

KeSetTimerEx

NDIS_TIMER_CHARACTERISTICS

NdisAllocateTimerObject

NdisCancelTimerObject

NdisSetCoalescableTimerObject

NetTimerCallback