NdisSetTimerObject-Funktion (ndis.h)
Die NdisSetTimerObject--Funktion legt ein Timerobjekt fest, das nach einem angegebenen Intervall oder in regelmäßigen Abständen ausgelöst werden soll.
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 von NDIS bereitgestellt wird, wenn ein Treiber die NdisAllocateTimerObject Funktion.
[in] DueTime
Die absolute oder relative Uhrzeit, 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 ausgedrückt (100-Nanosekunden-Intervalle). Absolute Ablaufzeiten verfolgen alle Änderungen der Systemzeit; Relative Ablaufzeiten sind von Systemzeitänderungen nicht betroffen.
[in, optional] MillisecondsPeriod
Das periodische Zeitintervall in Millisekunden, das zwischen jedem Auslösen des Timers und dem nächsten Aufruf der NetTimerCallback-Funktion verstrichen ist, 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 zugeordnete NetTimerCallback--Funktion übergibt, wenn ein Timer ausgelöst wird. Wenn dieser Parameter NULL-ist, verwendet NDIS den Standardwert, der in der NDIS_TIMER_CHARACTERISTICS Struktur.
Rückgabewert
NdisSetTimerObject gibt TRUE zurück, wenn sich das Timerobjekt bereits in der Systemzeitgeberwarteschlange befand; andernfalls wird FALSE-zurückgegeben.
Bemerkungen
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 aufgehoben, und die vom Aufrufer bereitgestellte NetTimerCallback--Funktion wird einmal bei IRQL = DISPATCH_LEVEL ausgeführt, sobald ein Prozessor verfügbar wird.
Wenn im MillisecondsPeriod Parameter ein Wert ungleich Null angegeben wird, wird das Timerobjekt erneut in die Warteschlange gestellt, bis das in MillisecondsPeri od angegebene Intervall abläuft. Nach Ablauf dieses Intervalls wird das Timerobjekt erneut abgefragt, und die vom Aufrufer bereitgestellte NetTimerCallback--Funktion wird einmal bei IRQL = DISPATCH_LEVEL ausgeführt, sobald ein Prozessor verfügbar ist.
Rufen Sie zum Abbrechen eines Timers die NdisCancelTimerObject--Funktion auf.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Unterstützt in NDIS 6.0 und höher. |
Zielplattform- | Universal |
Header- | ndis.h (include Ndis.h) |
Library | Ndis.lib |
IRQL- | <= DISPATCH_LEVEL |
DDI-Complianceregeln | Irql_Timer_Function(ndis), PeriodicTimer(ndis) |