NdisSetTimerObject-Funktion (ndis.h)
Die NdisSetTimerObject-Funktion legt fest, dass ein Timerobjekt nach einem angegebenen Intervall oder in regelmäßigen Abständen ausgelöst wird.
Syntax
BOOLEAN NdisSetTimerObject(
[in] NDIS_HANDLE TimerObject,
[in] LARGE_INTEGER DueTime,
[in, optional] LONG MillisecondsPeriod,
[in, optional] PVOID FunctionContext
);
Parameter
[in] TimerObject
Ein Handle für ein Timerobjekt, das NDIS bereitstellt, wenn ein Treiber die NdisAllocateTimerObject-Funktion .
[in] DueTime
Die absolute oder relative Zeit, zu der der Timer abläuft. Wenn der Wert des DueTime-Parameters negativ ist, ist die Ablaufzeit relativ zur aktuellen Systemzeit. Andernfalls ist die Ablaufzeit absolut. Die Ablaufzeit wird in Systemzeiteinheiten (Intervalle von 100 Nanosekunden) ausgedrückt. Absolute Ablaufzeiten nachverfolgen alle Änderungen der Systemzeit; relative Ablaufzeiten werden von Systemzeitänderungen nicht beeinflusst.
[in, optional] MillisecondsPeriod
Das periodische Zeitintervall in Millisekunden, das zwischen jedem Auslösen des Timers und dem nächsten Aufruf der NetTimerCallback-Funktion verstreicht, es sei denn, der Timer wird abgebrochen. Der Wert dieses Parameters muss kleiner oder gleich MAXLONG sein.
[in, optional] FunctionContext
Ein Zeiger auf einen vom Aufrufer bereitgestellten Kontextbereich, den NDIS an die zugehörige NetTimerCallback-Funktion übergibt, wenn ein Timer ausgelöst wird. Wenn dieser Parameter NULL ist, verwendet NDIS den Standardwert, der im NDIS_TIMER_CHARACTERISTICS Struktur.
Rückgabewert
NdisSetTimerObject gibt TRUE zurück, wenn sich das Timerobjekt bereits in der Systemtimerwarteschlange befand. Andernfalls wird FALSE zurückgegeben.
Hinweise
Nachdem ein Treiber NdisSetTimerObject aufgerufen hat, wird das Timerobjekt in die Warteschlange gestellt, bis das im DueTime-Parameter angegebene Intervall abläuft. Nach Ablauf des Intervalls wird das Timerobjekt dequeuiert, und die vom Aufrufer bereitgestellte NetTimerCallback-Funktion wird einmal bei IRQL = DISPATCH_LEVEL ausgeführt, sobald ein Prozessor verfügbar ist.
Wenn im MillisecondsPeriod-Parameter ein Wert ohne Zero angegeben wird, wird das Timerobjekt erneut in die Warteschlange gestellt, bis das in MillisecondsPeriod angegebene Intervall abläuft. Nach Ablauf dieses Intervalls wird das Timerobjekt erneut queuiert, und die vom Aufrufer bereitgestellte NetTimerCallback-Funktion wird einmal bei IRQL = DISPATCH_LEVEL ausgeführt, sobald ein Prozessor verfügbar ist.
Um einen Timer abzubrechen, rufen Sie die Funktion NdisCancelTimerObject auf.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Unterstützt in NDIS 6.0 und höher. |
Zielplattform | Universell |
Header | ndis.h (einschließlich Ndis.h) |
Bibliothek | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
DDI-Complianceregeln | Irql_Timer_Function(ndis), PeriodicTimer(ndis) |