Share via


NdisStallExecution (Windows Embedded CE 6.0)

1/6/2010

This function stalls the caller on the current processor for a given interval.

Syntax

VOID NdisStallExecution(
  UINT MicrosecondsToStall
);

Parameters

  • MicrosecondsToStall
    [in] Specifies the number of microseconds to delay.

Return Value

None.

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.

A driver should call the NdisMSleep function, which accepts larger delay intervals without monopolizing a processor for its callers, instead of this function. For example, an NIC driver's MiniportInitialize function should wait for state changes in the NIC with NdisMSleep.

Both NdisMSleep and 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 NdisSetTimer or the NdisSetPeriodicTimer function. The resolution of the host system clock varies, so very short delays can take slightly longer than the caller of NdisMSleep or 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 50microseconds.

Requirements

Header ndis.h
Windows Embedded CE Windows CE .NET 4.0 and later

See Also

Reference

NDIS Library Functions
MiniportInitialize
NdisCancelTimer
NdisInitializeTimer
NdisMSleep
NdisSetTimer