共用方式為


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 秒或半分鐘)。

Miniport 驅動程式可以從其 MiniportInitializeEx 呼叫 NdisMSleep,而且,當任一函式必須等候 NIC 中發生狀態變更後,MiniportHaltEx 函式時,該函式才會繼續其作業。

NdisMSleepNdisStallExecution 都允許迷你埠驅動程式指定一致且獨立於主機 CPU 時鐘速度的延遲。 這兩個函式都未涉及定時器物件,例如 NdisSetTimerObject 函式所使用的定時器物件。 主機系統時鐘的解析度會有所不同,因此非常短的延遲時間可能會比指定 NdisMSleepNdisStallExecution 的延遲時間稍長一點。

要求

要求 價值
最低支援的用戶端 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