NdisInitializeTimer

VOID
    NdisInitializeTimer(
        IN OUT PNDIS_TIMER  Timer,
        IN PNDIS_TIMER_FUNCTION  TimerFunction,
        IN PVOID  FunctionContext
        );

NdisInitializeTimer is called by the NIC driver to initialize an object that represents a timer.

Parameters

Timer
Points to the caller-supplied memory location of an NDIS_TIMER-type timer object.
TimerFunction
Points to the caller’s MacTimerFunction.
FunctionContext
Points to the context passed to MacTimerFunction.

Comments

A driver must call NdisInitializeTimer, usually during initialization, if it has a MacTimerFunction. After initialization of the timer object, the NIC driver calls NdisSetTimer to set the timer delay. When the timer expires, the MacTimerFunction is run.

If a driver calls NdisCancelTimer before the previously set interval expires, its MacTimerFunction does not run until the driver again calls NdisSetTimer.

If a driver calls NdisSetTimer twice in succession with overlapping intervals, its MacTimerFunction runs once when the interval given in the second call expires.

Callers of NdisInitializeTimer run at IRQL PASSIVE_LEVEL.

See Also

MacTimerFunction, NdisCancelTimer, NdisSetTimer