Initializing NDIS Timers
The NDIS_TIMER_CHARACTERISTICS structure defines characteristics of a one-shot or periodic timer. Any NDIS driver can have more than one timer. Each timer object is associated with a different NetTimerCallback function that is specified in the TimerFunction member. NDIS calls the associated NetTimerCallback function when the timer expires.
To allocate and initialize a timer, your driver should call the NdisAllocateTimerObject function and provide a driver-allocated NDIS_TIMER_CHARACTERISTICS structure. The timer does not start until the driver calls the NdisSetTimerObject function.
To free a timer object, your driver should call the NdisFreeTimerObject function.