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 scade il timer. Se il valore del parametro DueTime è negativo, la scadenza è relativa all'ora di sistema corrente. In caso contrario, l'ora di scadenza è assoluta. L'ora di scadenza viene 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 apportate all'ora di sistema.
[in, optional] MillisecondsPeriod
Intervallo di tempo periodico, in millisecondi, trascorso tra ogni attivazione del timer 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.
Commenti
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 la funzione NetTimerCallback fornita dal chiamante viene eseguita una sola volta in IRQL = DISPATCH_LEVEL non appena un processore diventa disponibile.
Se nel parametro MillisecondsPeriod 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 accodato e la funzione NetTimerCallback fornita dal chiamante viene eseguita una sola volta in IRQL = DISPATCH_LEVEL non appena un processore diventa disponibile.
Per annullare un timer, chiamare la funzione NdisCancelTimerObject .
Requisiti
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) |