Função NdisMSleep (ndis.h)
A função NdisMSleep atrasa a execução do chamador para um determinado intervalo em microssegundos.
Sintaxe
void NdisMSleep(
[in] ULONG MicrosecondsToSleep
);
Parâmetros
[in] MicrosecondsToSleep
O número de microssegundos a atrasar.
Retornar valor
Nenhum
Comentários
Para o tempo determinado no parâmetro MicrosecondsToSleep , o thread de execução do chamador é colocado em um estado de espera, permitindo assim que outros threads sejam executados no processador atual. Quando o intervalo especificado expira, o chamador de NdisMSleep retoma a execução.
Um driver NDIS sempre deve chamar NdisMSleep em preferência para a função NdisStallExecution , a menos que o driver esteja em execução em IRQL >= DISPATCH_LEVEL. O NdisMSleep pode aceitar um intervalo de atraso maior do que NdisStallExecution, que nunca deve ser chamado com um intervalo maior que 50 microssegundos. Não chame NdisMSleep com um tempo limite de mais de 30.000.000 microssegundos (ou seja, 30 segundos ou meio minuto).
Os drivers de miniport podem chamar NdisMSleep de seu MiniportInitializeEx e, possivelmente, funções MiniportHaltEx quando qualquer função deve aguardar que as alterações de estado ocorram na NIC antes que essa função continue suas operações.
NdisMSleep e NdisStallExecution permitem que um driver de miniporto especifique um atraso de forma consistente e independente da velocidade do relógio da CPU do host. Nenhuma das funções envolve um objeto de temporizador, como aqueles usados pela função NdisSetTimerObject . A resolução do relógio do sistema host varia, portanto, atrasos muito curtos podem levar um pouco mais do que o tempo de atraso especificado pelo chamador de NdisMSleep ou NdisStallExecution .
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Com suporte para drivers NDIS 6.0 e NDIS 5.1 (consulte NdisMSleep (NDIS 5.1)) no Windows Vista. Com suporte para drivers NDIS 5.1 (consulte NdisMSleep (NDIS 5.1)). |
Plataforma de Destino | Universal |
Cabeçalho | ndis.h (inclua Ndis.h) |
Biblioteca | Ndis.lib |
IRQL | < DISPATCH_LEVEL |
Regras de conformidade de DDI | Irql_Miniport_Driver_Function(ndis) |