Bagikan melalui


Fungsi CallbackMayRunLong (threadpoolapiset.h)

Menunjukkan bahwa panggilan balik mungkin tidak kembali dengan cepat.

Sintaks

BOOL CallbackMayRunLong(
  [in, out] PTP_CALLBACK_INSTANCE pci
);

Parameter

[in, out] pci

Penunjuk ke struktur TP_CALLBACK_INSTANCE yang menentukan instans panggilan balik. Penunjuk diteruskan ke fungsi panggilan balik.

Nilai kembali

Fungsi mengembalikan TRUE jika utas lain di kumpulan utas tersedia untuk memproses panggilan balik atau kumpulan utas dapat membuat utas baru. Dalam hal ini, fungsi panggilan balik saat ini dapat menggunakan utas saat ini tanpa batas waktu.

Fungsi mengembalikan FALSE jika utas lain di kumpulan utas tidak tersedia untuk memproses panggilan balik dan kumpulan utas tidak dapat membuat utas baru. Kumpulan utas akan mencoba membuat utas baru setelah penundaan, tetapi jika fungsi panggilan balik saat ini berjalan lama, kumpulan utas mungkin kehilangan efisiensi.

Keterangan

Kumpulan utas dapat menggunakan informasi ini untuk menentukan dengan lebih baik kapan utas baru harus dibuat.

Fungsi CallbackMayRunLong harus dipanggil hanya oleh utas yang memproses panggilan balik. Memanggil fungsi ini dari utas lain dapat menyebabkan kondisi balapan.

Fungsi CallbackMayRunLong selalu menandai panggilan balik sebagai berjalan lama, apakah utas tersedia untuk memproses panggilan balik atau threadpool dapat mengalokasikan utas baru atau tidak. Oleh karena itu, fungsi ini harus dipanggil hanya sekali, bahkan jika mengembalikan FALSE.

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

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

DisassociateCurrentThreadFromCallback

FreeLibraryWhenCallbackReturns

LeaveCriticalSectionWhenCallbackReturns

ReleaseMutexWhenCallbackReturns

ReleaseSemaphoreWhenCallbackReturns

SetEventWhenCallbackReturns

SetThreadpoolCallbackRunsLong

Kumpulan Utas

TrySubmitThreadpoolCallback