Función NdisSetTimerObject (ndis.h)
La función NdisSetTimerObject establece un objeto de temporizador que se activará después de un intervalo especificado o periódicamente.
Sintaxis
BOOLEAN NdisSetTimerObject(
[in] NDIS_HANDLE TimerObject,
[in] LARGE_INTEGER DueTime,
[in, optional] LONG MillisecondsPeriod,
[in, optional] PVOID FunctionContext
);
Parámetros
[in] TimerObject
Identificador de un objeto de temporizador que proporciona NDIS cuando un controlador llama al Función NdisAllocateTimerObject .
[in] DueTime
Hora absoluta o relativa en la que el temporizador va a expirar. Si el valor del parámetro DueTime es negativo, la hora de expiración es relativa a la hora actual del sistema. De lo contrario, la hora de expiración es absoluta. La hora de expiración se expresa en unidades de tiempo del sistema (intervalos de 100 nanosegundos). Los tiempos de expiración absolutos realizan un seguimiento de los cambios en la hora del sistema; Los tiempos de expiración relativos no se ven afectados por los cambios de hora del sistema.
[in, optional] MillisecondsPeriod
Intervalo de tiempo periódico, en milisegundos, que transcurre entre cada vez que se activa el temporizador y la siguiente llamada a la función NetTimerCallback , a menos que se cancele el temporizador. El valor de este parámetro debe ser menor o igual que MAXLONG.
[in, optional] FunctionContext
Puntero a un área de contexto proporcionada por el autor de la llamada que NDIS pasa a la función NetTimerCallback asociada cuando se activa un temporizador. Si este parámetro es NULL, NDIS usa el valor predeterminado especificado en . NDIS_TIMER_CHARACTERISTICS estructura.
Valor devuelto
NdisSetTimerObject devuelve TRUE si el objeto del temporizador ya estaba en la cola del temporizador del sistema; de lo contrario, devuelve FALSE.
Comentarios
Después de que un controlador llame a NdisSetTimerObject, el objeto de temporizador se pone en cola hasta que expire el intervalo especificado en el parámetro DueTime . Una vez expirado el intervalo, el objeto de temporizador se desquea y la función NetTimerCallback proporcionada por el autor de la llamada se ejecuta una vez en IRQL = DISPATCH_LEVEL tan pronto como un procesador esté disponible.
Si se especifica un valor distinto de cero en el parámetro MillisecondsPeriod , el objeto de temporizador se pone en cola de nuevo hasta que expire el intervalo especificado en MilisecondsPeriod . Una vez expirado este intervalo, el objeto de temporizador se vuelve a poner en cola y la función NetTimerCallback proporcionada por el autor de la llamada se ejecuta una vez en IRQL = DISPATCH_LEVEL tan pronto como un procesador esté disponible.
Para cancelar un temporizador, llame a la función NdisCancelTimerObject .
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Compatible con NDIS 6.0 y versiones posteriores. |
Plataforma de destino | Universal |
Encabezado | ndis.h (incluya Ndis.h) |
Library | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
Reglas de cumplimiento de DDI | Irql_Timer_Function(ndis), PeriodicTimer(ndis) |