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
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk