Partager via


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.

Note À compter 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 .

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)

Voir aussi

KeSetTimerEx

NDIS_TIMER_CHARACTERISTICS

NdisAllocateTimerObject

NdisCancelTimerObject

NdisSetCoalescableTimerObject

NetTimerCallback