Funzione NdisSetTimerObject (ndis.h)
La funzione NdisSetTimerObject imposta un oggetto timer da attivare dopo un intervallo specificato o periodicamente.
Sintassi
BOOLEAN NdisSetTimerObject(
[in] NDIS_HANDLE TimerObject,
[in] LARGE_INTEGER DueTime,
[in, optional] LONG MillisecondsPeriod,
[in, optional] PVOID FunctionContext
);
Parametri
[in] TimerObject
Handle per un oggetto timer fornito da NDIS quando un driver chiama funzione NdisAllocateTimerObject.
[in] DueTime
Ora assoluta o relativa in cui il timer deve scadere. Se il valore del parametro DueTime è negativo, l'ora di scadenza è relativa all'ora di sistema corrente. In caso contrario, l'ora di scadenza è assoluta. L'ora di scadenza è espressa in unità di tempo di sistema (intervalli di 100 nanosecondi). I tempi di scadenza assoluti tengono traccia delle modifiche apportate all'ora di sistema; le ore di scadenza relative non sono interessate dalle modifiche all'ora di sistema.
[in, optional] MillisecondsPeriod
Intervallo di tempo periodico, in millisecondi, trascorso tra ogni volta che il timer viene attivato e la chiamata successiva alla funzione NetTimerCallback, a meno che il timer non venga annullato. Il valore di questo parametro deve essere minore o uguale a MAXLONG.
[in, optional] FunctionContext
Puntatore a un'area di contesto fornita dal chiamante che NDIS passa alla funzione netTimerCallback associata quando viene generato un timer. Se questo parametro è NULL, NDIS usa il valore predefinito specificato in . NDIS_TIMER_CHARACTERISTICS struttura.
Valore restituito
NdisSetTimerObject restituisce TRUE se l'oggetto timer era già presente nella coda del timer di sistema; in caso contrario, restituisce FALSE.
Osservazioni
Dopo che un driver chiama NdisSetTimerObject, l'oggetto timer viene accodato fino alla scadenza dell'intervallo specificato nel parametro DueTime. Dopo la scadenza dell'intervallo, l'oggetto timer viene dequeued e il chiamante fornito funzione NetTimerCallback viene eseguita una sola volta in IRQL = DISPATCH_LEVEL non appena un processore diventa disponibile.
Se nel parametro millisecondiPeriod viene specificato un valore diverso da zero, l'oggetto timer viene accodato di nuovo fino alla scadenza dell'intervallo specificato in MillisecondsPeriod. Dopo la scadenza di questo intervallo, l'oggetto timer viene rieseguito e il chiamante fornito funzione netTimerCallback viene eseguita una sola volta in IRQL = DISPATCH_LEVEL non appena un processore diventa disponibile.
Per annullare un timer, chiamare la funzione NdisCancelTimerObject.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Supportato in NDIS 6.0 e versioni successive. |
piattaforma di destinazione | Universale |
intestazione | ndis.h (include Ndis.h) |
libreria | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
regole di conformità DDI | Irql_Timer_Function(ndis), periodicTimer(ndis) |