SetThreadpoolTimerEx-Funktion (threadpoolapiset.h)

Legt das Timerobjekt fest, wobei ggf. der vorherige Timer ersetzt wird. Ein Workerthread ruft den Rückruf des Timerobjekts auf, nachdem das angegebene Timeout abgelaufen ist.

Syntax

BOOL SetThreadpoolTimerEx(
  [in, out]      PTP_TIMER pti,
  [in, optional] PFILETIME pftDueTime,
  [in]           DWORD     msPeriod,
  [in, optional] DWORD     msWindowLength
);

Parameter

[in, out] pti

Ein Zeiger auf eine TP_TIMER-Struktur , die das festzulegende Timerobjekt definiert. Die CreateThreadpoolTimer-Funktion gibt diesen Zeiger zurück.

[in, optional] pftDueTime

Ein Zeiger auf eine FILETIME-Struktur , der die absolute oder relative Zeit angibt, zu der der Timer abläuft. Wenn dieser Parameter auf einen positiven Wert zeigt, gibt er die absolute Zeit seit dem 1. Januar 1601 (UTC) an, gemessen in 100 Nanosekundeneinheiten. Wenn dieser Parameter auf einen negativen Wert zeigt, gibt er die Wartezeit im Verhältnis zur aktuellen Zeit an. Wenn dieser Parameter auf 0 (null) zeigt, läuft der Timer sofort ab. Weitere Informationen zu Zeitwerten finden Sie unter Dateizeiten.

Wenn dieser Parameter NULL ist, wird das Timerobjekt keine neuen Rückrufe mehr in die Warteschlange stellen (aber Rückrufe, die bereits in die Warteschlange eingereiht wurden, werden weiterhin ausgeführt).

Der Timer wird festgelegt, wenn der pftDueTime-Parameter ungleich NULL ist.

[in] msPeriod

Der Zeitgeberzeitraum in Millisekunden. Wenn dieser Parameter null ist, wird der Timer einmal signalisiert. Wenn dieser Parameter größer als 0 (null) ist, ist der Timer periodisch. Ein periodischer Timer reaktiviert automatisch jedes Mal, wenn der Zeitraum verstrichen ist, bis der Timer abgebrochen wird.

[in, optional] msWindowLength

Die maximale Zeitspanne, die das System vor dem Aufrufen des Timerrückrufs verzögern kann. Wenn dieser Parameter festgelegt ist, kann das System Batchaufrufe durchführen, um Strom zu sparen.

Rückgabewert

Gibt TRUE zurück, wenn der Timer zuvor festgelegt und abgebrochen wurde. Andernfalls wird FALSE zurückgegeben.

Wenn der vorherige Zustand des Zeitgebers "festgelegt" war und die Funktion FALSE zurückgibt, wird ein Rückruf ausgeführt oder beginnt. Weitere Informationen finden Sie in den Anmerkungen.

Hinweise

Wenn Sie den Timer festlegen, wird der vorherige Timer abgebrochen, sofern vorhanden.

In einigen Fällen können Rückruffunktionen ausgeführt werden, nachdem eine Anwendung den Threadpool-Timer geschlossen hat. Um dieses Verhalten zu verhindern, sollte eine Anwendung die unter CloseThreadpoolTimer beschriebenen Schritte ausführen.

Wenn die durch pftDueTime angegebene Fälligkeitszeit relativ ist, zählt die Zeit, die das System im Ruhezustand oder Ruhezustand verbringt, nicht zum Ablauf des Timers. Der Timer wird signalisiert, wenn die kumulative Menge der verstrichenen Zeit, die das System im Wachzustand verbringt, der relativen Fälligkeitszeit oder dem zeitraum des Timers entspricht. Wenn die durch pftDueTime angegebene Fälligkeit absolut ist, zählt die Zeit, die das System im Ruhezustand oder Ruhezustand verbringt, bis zum Ablauf des Timers. Wenn der Timer abläuft, während sich das System im Ruhezustand befindet, wird der Timer sofort signalisiert, wenn das System aktiviert wird.

Um eine Anwendung zu kompilieren, die diese Funktion verwendet, definieren Sie _WIN32_WINNT als 0x0600 oder höher.

Beispiele

Ein Beispiel finden Sie unter Verwenden der Threadpoolfunktionen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 8 [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2012 [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile threadpoolapiset.h
Bibliothek Kernel32.lib
DLL Kernel32.dll

Siehe auch

CloseThreadpoolTimer

CreateThreadpoolTimer

IsThreadpoolTimerSet

Threadpools

WaitForThreadpoolTimerCallbacks