NdisMSleep 函数 (ndis.h)

NdisMSleep 函数延迟调用方以微秒为单位的给定间隔的执行。

语法

void NdisMSleep(
  [in] ULONG MicrosecondsToSleep
);

参数

[in] MicrosecondsToSleep

要延迟的微秒数。

返回值

没有

言论

对于 MicrosecondsToSleep 参数中的给定时间,调用方的执行线程处于等待状态,从而允许其他线程在当前处理器上完成工作。 给定的间隔到期时,NdisMSleep 调用方将恢复执行。

除非驱动程序在 IRQL >= DISPATCH_LEVEL,否则 NDIS 驱动程序应始终调用 NdisMSleep,而不是 NdisStallExecution 函数。 NdisMSleep 可以接受比 NdisStallExecution更大的延迟间隔,绝不,间隔大于 50 微秒。 不要调用 NdisMSleep 超时超过 30,000,000 微秒(即 30 秒或半分钟)。

微型端口驱动程序可以从其 MiniportInitializeEx 调用 NdisMSleep,并且当任一函数必须等待状态更改在 NIC 中继续其作之前,MiniportHaltEx 函数。

NdisMSleepNdisStallExecution 都允许微型端口驱动程序指定一致且独立于主机 CPU 的时钟速度的延迟。 这两个函数都不涉及计时器对象,例如由 NdisSetTimerObject 函数使用的计时器对象。 主机系统时钟的分辨率各不相同,因此非常短的延迟时间可能略长于 NdisMSleep 调用方或 NdisStallExecution 指定的延迟时间。

要求

要求 价值
最低支持的客户端 Windows Vista 中支持 NDIS 6.0 和 NDIS 5.1 驱动程序(请参阅 NdisMSleep (NDIS 5.1)。 支持 NDIS 5.1 驱动程序(请参阅 NdisMSleep (NDIS 5.1) 。
目标平台 普遍
标头 ndis.h (包括 Ndis.h)
Ndis.lib
IRQL < DISPATCH_LEVEL
DDI 符合性规则 Irql_Miniport_Driver_Function(ndis)

另请参阅

MiniportHaltEx

MiniportInitializeEx

NdisSetTimerObject

NdisStallExecution

NdisWaitEvent

NetTimerCallback