Wartungstimer
NDIS ruft die NetTimerCallback-Funktion auf, wenn ein NDIS 6.0-Timer ausgelöst wird. Der FunctionContext-Parameter dieser Funktion enthält einen Zeiger auf einen vom Treiber bereitgestellten Kontextbereich. Der Standardwert für FunctionContext wird in einer NDIS_TIMER_CHARACTERISTICS-Struktur angegeben. Der Treiber hat die Struktur an die NdisAllocateTimerObject-Funktion übergeben, um das zugeordnete Timerobjekt zuzuordnen und zu initialisieren.
Wenn der Treiber einen Wert ungleich NULL im FunctionContext-Parameter angegeben hat, der an die NdisSetTimerObject-Funktion übergeben wird, übergibt NDIS diesen Wert an den FunctionContext-Parameter der NetTimerCallback-Funktion . Andernfalls übergibt NDIS den Standardwert, der in der NDIS_TIMER_CHARACTERISTICS-Struktur angegeben ist.
Jeder NDIS-Treiber kann über mehrere NetTimerCallback-Funktionen verfügen. Jede solche NetTimerCallback-Funktion muss einem anderen vom Treiber zugewiesenen und initialisierten Timerobjekt zugeordnet sein.
Ein Aufruf der NdisSetTimerObject-Funktion bewirkt, dass die NetTimerCallback-Funktion , die dem Timerobjekt zugeordnet ist, nach einem angegebenen Intervall oder in regelmäßigen Abständen ausgeführt wird.
Um Aufrufe einer NetTimerCallback-Funktion zu beenden, rufen Sie die NdisCancelTimerObject-Funktion auf. NDIS ruft möglicherweise weiterhin NetTimerCallback auf, wenn das Timeout vor dem Aufruf von NdisCancelTimerObject bereits abgelaufen ist.
Wenn eine NetTimerCallback-Funktion Ressourcen mit anderen Treiberfunktionen gemeinsam verwendet, sollte der Treiber den Zugriff auf diese Ressourcen mit einer Drehsperre synchronisieren.