Microsoft Windows CE 3.0  

NdisStallExecution

Important:
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
);

Parameters

MicrosecondsToStall
Specifies the number of microseconds to delay.

Remarks

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.

Requirements

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.

See Also

NdisMSleep, NdisMSetTimer



 Last updated on Tuesday, July 13, 2004

© 2004 Microsoft Corporation. All rights reserved.