Freigeben über


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.

Hinweis Ab Windows 7 können Sie den Stromverbrauch durch Anrufe reduzieren. NdisSetCoalescableTimerObject anstelle von NdisSetTimerObject, wenn keine genaue Zeitgebergenauigkeit erforderlich ist.
 
Weitere Informationen zum Timerverhalten finden Sie unter KeSetTimerEx.

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)

Siehe auch

KeSetTimerEx

NDIS_TIMER_CHARACTERISTICS

NdisAllocateTimerObject-

NdisCancelTimerObject

NdisSetCoalescableTimerObject

NetTimerCallback-