Função NdisSetTimerObject (ndis.h)
A função NdisSetTimerObject define um objeto de temporizador a ser acionado após um intervalo especificado ou periodicamente.
Sintaxe
BOOLEAN NdisSetTimerObject(
[in] NDIS_HANDLE TimerObject,
[in] LARGE_INTEGER DueTime,
[in, optional] LONG MillisecondsPeriod,
[in, optional] PVOID FunctionContext
);
Parâmetros
[in] TimerObject
Um identificador para um objeto de temporizador que o NDIS fornece quando um driver chama o função de NdisAllocateTimerObject.
[in] DueTime
O tempo absoluto ou relativo em que o temporizador deve expirar. Se o valor do parâmetro DueTime for negativo, o tempo de expiração será relativo ao tempo atual do sistema. Caso contrário, o tempo de expiração será absoluto. O tempo de expiração é expresso em unidades de tempo do sistema (intervalos de 100 nanossegundos). Os tempos de expiração absolutos acompanham as alterações na hora do sistema; os tempos de expiração relativos não são afetados pelas alterações de tempo do sistema.
[in, optional] MillisecondsPeriod
O intervalo de tempo periódico, em milissegundos, decorrido entre cada vez que o temporizador é acionado e a próxima chamada para a função NetTimerCallback, a menos que o temporizador seja cancelado. O valor desse parâmetro deve ser menor ou igual a MAXLONG.
[in, optional] FunctionContext
Um ponteiro para uma área de contexto fornecida pelo chamador que o NDIS passa para a função NetTimerCallback associada quando um temporizador é acionado. Se esse parâmetro for NULL, o NDIS usará o valor padrão especificado no NDIS_TIMER_CHARACTERISTICS estrutura.
Valor de retorno
NdisSetTimerObject retornará verdadeiro se o objeto do temporizador já estiver na fila do temporizador do sistema; caso contrário, ele retornará FALSE .
Observações
Depois que um driver chama NdisSetTimerObject, o objeto timer é enfileirado até que o intervalo especificado no parâmetro DueTime expire. Depois que o intervalo expirar, o objeto de temporizador será desativado e a função NetTimerCallback fornecida pelo chamador será executada uma vez em IRQL = DISPATCH_LEVEL assim que um processador estiver disponível.
Se um valor diferente de zero for especificado no parâmetro MilissegundosPeriod, o objeto de temporizador será enfileirado novamente até que o intervalo especificado em MillisecondsPeriod expire. Depois que esse intervalo expirar, o objeto de temporizador será requeuado e a função NetTimerCallback fornecida pelo chamador será executada uma vez em IRQL = DISPATCH_LEVEL assim que um processador estiver disponível.
Para cancelar um temporizador, chame a função NdisCancelTimerObject.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Com suporte no NDIS 6.0 e posterior. |
da Plataforma de Destino | Universal |
cabeçalho | ndis.h (inclua Ndis.h) |
biblioteca | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
regras de conformidade de DDI | Irql_Timer_Function(ndis), PeriodicTimer(ndis) |