|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 stalls the caller on the current processor for a given interval.
VOID NdisStallExecution( IN UINT MicrosecondsToStall );
For the specified MicrosecondsToStall, the caller's thread of execution stalls on the current processor, consuming CPU cycles. When the specified interval expires, the caller resumes execution.
Unless a driver is running at IRQL >= DISPATCH_LEVEL, it should call the NdisMSleepfunction, which accepts larger delay intervals without monopolizing a processor for its callers, instead of this function. For example, an NIC driver's MiniportInitializefunction should wait for state changes in the NIC with NdisMSleep.
Both NdisMSleepand this function allow 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 NdisMSleepor this function specified.
A call to this function prevents any other operating system activity on the current processor and prevents system interrupts from occurring during the stall. Therefore, callers should always specify a stall interval of no longer than 50 microseconds.
A driver that calls this function can run at any IRQL.
|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