Fungsi SetThreadpoolTimer (threadpoolapiset.h)

Mengatur objek timer, mengganti timer sebelumnya, jika ada. Utas pekerja memanggil panggilan balik objek timer setelah batas waktu yang ditentukan kedaluwarsa.

Sintaks

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

Parameter

[in, out] pti

Penunjuk ke struktur TP_TIMER yang menentukan objek timer yang akan diatur. Fungsi CreateThreadpoolTimer mengembalikan penunjuk ini.

[in, optional] pftDueTime

Penunjuk ke struktur FILETIME yang menentukan waktu absolut atau relatif di mana timer harus kedaluwarsa. Jika positif atau nol, itu menunjukkan waktu absolut sejak 1 Januari 1601 (UTC), diukur dalam 100 unit nanodetik. Jika negatif, itu menunjukkan jumlah waktu untuk menunggu relatif terhadap waktu saat ini. Untuk informasi selengkapnya tentang nilai waktu, lihat Waktu File.

Jika parameter ini NULL, objek timer akan berhenti mengantre panggilan balik baru (tetapi panggilan balik yang sudah diantrekan masih akan terjadi).

Timer diatur jika parameter pftDueTime non-NULL.

[in] msPeriod

Periode timer, dalam milidetik. Jika parameter ini nol, timer disinyalkan sekali. Jika parameter ini lebih besar dari nol, timer berkala. Timer berkala secara otomatis mengaktifkan kembali setiap kali periode berlalu, hingga timer dibatalkan.

[in] msWindowLength

Jumlah waktu maksimum yang dapat ditunda sistem sebelum memanggil panggilan balik timer. Jika parameter ini tidak diatur ke nol, sistem dapat mengumpulkan panggilan untuk menghemat daya.

Mengembalikan nilai

Tidak ada

Keterangan

Mengatur timer membatalkan timer sebelumnya, jika ada.

Dalam beberapa kasus, fungsi panggilan balik mungkin berjalan setelah aplikasi menutup timer threadpool. Untuk mencegah perilaku ini, aplikasi harus mengikuti langkah-langkah yang dijelaskan di CloseThreadpoolTimer.

Jika waktu jatuh tempo yang ditentukan oleh pftDueTime relatif, waktu yang dihabiskan sistem dalam tidur atau hibernasi tidak dihitung terhadap kedaluwarsa timer. Timer disinyalkan ketika jumlah kumulatif waktu yang berlalu yang dihabiskan sistem dalam keadaan bangun sama dengan waktu atau periode jatuh tempo relatif timer. Jika waktu jatuh tempo yang ditentukan oleh pftDueTime adalah absolut, waktu yang dihabiskan sistem dalam tidur atau hibernasi memang dihitung terhadap kedaluwarsa timer. Jika timer kedaluwarsa saat sistem tidur, timer akan segera disinyalkan ketika sistem bangun.

Jika waktu jatuh tempo yang ditentukan oleh pftDueTime adalah nol, maka timer akan segera kedaluwarsa.

Untuk mengkompilasi aplikasi yang menggunakan fungsi ini, tentukan _WIN32_WINNT sebagai 0x0600 atau lebih tinggi.

Contoh

Misalnya, lihat Menggunakan Fungsi Kumpulan Utas.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows Vista [aplikasi desktop | Aplikasi UWP]
Server minimum yang didukung Windows Server 2008 [aplikasi desktop | Aplikasi UWP]
Target Platform Windows
Header threadpoolapiset.h (termasuk Windows.h pada Windows 7, Windows Server 2008 Windows Server 2008 R2)
Pustaka Kernel32.lib
DLL Kernel32.dll

Lihat juga

CloseThreadpoolTimer

CreateThreadpoolTimer

IsThreadpoolTimerSet

Kumpulan Utas

WaitForThreadpoolTimerCallbacks