Bagikan melalui


Fungsi SetThreadpoolCallbackLibrary (winbase.h)

Memastikan bahwa DLL yang ditentukan tetap dimuat selama ada panggilan balik yang luar biasa.

Sintaks

void SetThreadpoolCallbackLibrary(
  [in, out] PTP_CALLBACK_ENVIRON pcbe,
  [in]      PVOID                mod
);

Parameter

[in, out] pcbe

Struktur TP_CALLBACK_ENVIRON yang menentukan lingkungan panggilan balik. Fungsi InitializeThreadpoolEnvironment mengembalikan struktur ini.

[in] mod

Handel ke DLL.

Menampilkan nilai

Tidak ada

Keterangan

Anda harus memanggil fungsi ini jika panggilan balik mungkin memperoleh kunci loader. Ini mencegah kebuntuan terjadi ketika satu utas di DllMain menunggu panggilan balik berakhir, dan utas lain yang menjalankan panggilan balik mencoba memperoleh kunci pemuat.

Jika DLL yang berisi panggilan balik mungkin dibongkar, kode pembersihan di DllMain harus membatalkan panggilan balik yang beredar sebelum merilis objek.

Mengelola panggilan balik yang dibuat dengan TP_CALLBACK_ENVIRON yang menentukan pustaka panggilan balik agak intensif pemrosesan. Anda harus mempertimbangkan opsi lain untuk memastikan bahwa pustaka tidak dibongkar saat panggilan balik dijalankan, atau untuk menjamin bahwa panggilan balik yang mungkin dijalankan tidak memperoleh kunci pemuat.

Kumpulan utas mengasumsikan kepemilikan referensi pustaka yang disediakan untuk fungsi ini. Pemanggil tidak boleh memanggil FreeLibrary pada handel modul setelah meneruskannya ke fungsi ini.

Fungsi ini diimplementasikan sebagai fungsi sebaris.

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

Persyaratan

   
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 winbase.h (termasuk Windows.h)

Lihat juga

DestroyThreadpoolEnvironment

FreeLibraryWhenCallbackReturns

InitializeThreadpoolEnvironment

SetThreadpoolCallbackCleanupGroup

SetThreadpoolCallbackPool

SetThreadpoolCallbackPriority

SetThreadpoolCallbackRunsLong

Kumpulan Utas