|This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.|
This function delays execution of the caller for a specified interval, in microseconds.
VOID NdisMSleep( IN ULONG MicrosecondsToSleep );
For the specified MicrosecondsToSleep, the caller's thread of execution is put into a wait state, thus allowing other threads to get work done on the current processor. When the specified interval expires, the caller of this function resumes execution.
An NDIS driver should always call this function in preference to the NdisStallExecutionfunction unless the driver is running at IRQL >= DISPATCH_LEVEL. This function can accept a larger delay interval than NdisStallExecution, which should never be called with an interval greater than 50 microseconds.
NIC drivers can call this function from their MiniportInitializeand, possibly, MiniportHaltfunctions when either function must wait for state changes to occur in the NIC before that function continues its operations.
Both this function and NdisStallExecutionallow an NIC driver to specify a delay consistently and independently of the clock speed of the host CPU. Neither function involves a timer object used by the NdisSetTimeror the NdisSetPeriodicTimerfunction. The resolution of the host system clock varies, so very short delays can take slightly longer than the caller of this function or NdisStallExecutionspecified.
A driver that calls this function runs at IRQL < DISPATCH_LEVEL.
|Runs on||Versions||Defined in||Include||Link to|
|Windows CE OS||2.0 and later||Ndis.h|
Note This API is part of the complete Windows CE OS package as provided by Microsoft. The functionality of a particular platform is determined by the original equipment manufacturer (OEM) and some devices may not support this API.
Last updated on Tuesday, July 13, 2004