Compartilhar via


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 serem atrasados.

Valor de retorno

Nenhum

Observações

Por um determinado tempo no parâmetro MicrosecondsToSleep, o thread de execução do chamador é colocado em um estado de espera, permitindo assim que outros threads obtenham trabalho no processador atual. Quando o intervalo determinado 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 no IRQL >= DISPATCH_LEVEL. 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 seus MiniportInitializeEx e, possivelmente, miniportHaltEx funções quando qualquer uma das funções deve aguardar que as alterações de estado ocorram na NIC antes que essa função continue suas operações.

Tanto NdisMSleep quanto 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 que são 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
de cliente com suporte mínimo 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)).
da 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)

Consulte também

MiniportHaltEx

MiniportInitializeEx

NdisSetTimerObject

NdisStallExecution

NdisWaitEvent

NetTimerCallback