Bagikan melalui


Fungsi SetThreadpoolWait (threadpoolapiset.h)

Mengatur objek tunggu, mengganti objek tunggu sebelumnya, jika ada. Utas pekerja memanggil fungsi panggilan balik objek tunggu setelah handel menjadi sinyal atau setelah batas waktu yang ditentukan kedaluwarsa.

Sintaksis

void SetThreadpoolWait(
  [in, out]      PTP_WAIT  pwa,
  [in, optional] HANDLE    h,
  [in, optional] PFILETIME pftTimeout
);

Parameter

[in, out] pwa

Penunjuk ke struktur TP_WAIT yang menentukan objek tunggu. Fungsi CreateThreadpoolWait mengembalikan pointer 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.

Mutex tidak didukung. Jika handel ke mutex diteruskan, kumpulan utas akan menaikkan pengecualian STATUS_THREADPOOL_HANDLE_EXCEPTION dan ExceptionRecord.ExceptionInformation[0] akan sama dengan STATUS_INVALID_PARAMETER_3.

Jika handel ini ditutup saat penantian masih tertunda, perilaku fungsi tidak ditentukan. Jika tunggu masih tertunda dan handel harus ditutup, gunakan CloseThreadpoolWait untuk membatalkan tunggu lalu tutup handel.

Penantian dianggap diatur jika parameter ini non-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. Untuk informasi selengkapnya tentang nilai waktu, lihat File Times.

Jika parameter ini menunjuk ke 0, waktu tunggu segera habis. Jika parameter ini NULL, waktu tunggu tidak akan habis.

Mengembalikan nilai

Tidak

Komentar

Objek tunggu hanya dapat menunggu satu handel. Mengatur handel untuk objek tunggu menggantikan handel sebelumnya, jika ada.

Anda harus mendaftarkan ulang peristiwa dengan objek tunggu sebelum memberi sinyal setiap kali untuk memicu panggilan balik tunggu.

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

Contoh

Misalnya, lihat Menggunakan Fungsi Kumpulan Utas.

Persyaratan

Syarat Nilai
klien minimum yang didukung Windows Vista [aplikasi desktop | Aplikasi UWP]
server minimum yang didukung Windows Server 2008 [aplikasi desktop | Aplikasi UWP]
Platform Target 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

CloseThreadpoolWait

CreateThreadpoolWait

SetThreadpoolWaitEx

Kumpulan Utas

WaitForThreadpoolWaitCallbacks