Fungsi SetThreadpoolWaitEx (threadpoolapiset.h)
Mengatur objek tunggu, mengganti objek tunggu sebelumnya, jika ada. Utas pekerja memanggil fungsi panggilan balik objek tunggu setelah handel diberi sinyal atau setelah batas waktu yang ditentukan kedaluwarsa.
Sintaks
BOOL SetThreadpoolWaitEx(
[in, out] PTP_WAIT pwa,
[in, optional] HANDLE h,
[in, optional] PFILETIME pftTimeout,
PVOID Reserved
);
Parameter
[in, out] pwa
Penunjuk ke struktur TP_WAIT yang menentukan objek tunggu. Fungsi CreateThreadpoolWait mengembalikan penunjuk ini.
[in, optional] h
Pegangan.
Jika parameter ini NULL, objek tunggu akan berhenti mengantre panggilan balik baru (tetapi panggilan balik yang sudah diantrekan masih akan terjadi).
Jika parameter ini bukan NULL, parameter harus merujuk ke objek yang dapat ditunda yang valid.
Jika handel ini ditutup saat penantian masih tertunda, perilaku fungsi tidak terdefinis. Jika penantian masih tertunda dan handel harus ditutup, gunakan CloseThreadpoolWait untuk membatalkan tunggu lalu tutup handel.
Penantian dianggap diatur jika parameter ini bukan NULL.
[in, optional] pftTimeout
Penunjuk ke struktur FILETIME yang menentukan waktu absolut atau relatif di mana operasi tunggu harus kehabisan waktu. Jika parameter ini menunjuk ke nilai positif, parameter menunjukkan waktu absolut sejak 1 Januari 1601 (UTC), dalam interval 100 nanodetik. Jika parameter ini menunjuk ke nilai negatif, parameter menunjukkan jumlah waktu untuk menunggu relatif terhadap waktu saat ini. Jika parameter ini menunjuk ke nol, maka waktu tunggu segera habis. Untuk informasi selengkapnya tentang nilai waktu, lihat Waktu File.
Jika parameter ini NULL, maka waktu tunggu tidak habis.
Reserved
Dicadangkan. Harus NULL.
Nilai kembali
Mengembalikan TRUE jika penantian telah ditetapkan sebelumnya dan dibatalkan. Jika tidak, mengembalikan FALSE.
Jika status tunggu sebelumnya adalah "set", dan fungsi mengembalikan FALSE, maka panggilan balik sedang berlangsung atau akan dimulai. Lihat sambutan untuk diskusi lebih lanjut.
Keterangan
Objek tunggu hanya dapat menunggu satu handel. Mengatur handel untuk objek tunggu menggantikan handel tunggu 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 CloseThreadpoolWait.
Jika batas waktu yang ditentukan oleh pftTimeout relatif, waktu yang dihabiskan sistem dalam tidur atau hibernasi tidak dihitung terhadap kedaluwarsa waktu tunggu. Penantian disinyalkan ketika jumlah kumulatif waktu yang berlalu yang dihabiskan sistem dalam keadaan bangun sama dengan batas waktu relatif tunggu. Jika batas waktu yang ditentukan oleh pftTimeout adalah absolut, waktu yang dihabiskan sistem dalam tidur atau hibernasi memang dihitung terhadap kedaluwarsa penantian. Jika waktu tunggu kedaluwarsa saat sistem sedang tidur, penantian akan segera disinyalkan ketika sistem bangun.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 8 [aplikasi desktop | Aplikasi UWP] |
Server minimum yang didukung | Windows Server 2012 [aplikasi desktop | Aplikasi UWP] |
Target Platform | Windows |
Header | threadpoolapiset.h |
Pustaka | Kernel32.lib |
DLL | Kernel32.dll |