Fungsi DisassociateCurrentThreadFromCallback (threadpoolapiset.h)
Menghapus asosiasi antara fungsi panggilan balik yang sedang dijalankan dan objek yang memulai panggilan balik. Utas saat ini tidak akan lagi dihitung sebagai menjalankan panggilan balik atas nama objek.
Sintaks
void DisassociateCurrentThreadFromCallback(
[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.
Menampilkan nilai
Tidak ada
Keterangan
Jika ini adalah utas terakhir yang menjalankan panggilan balik atas nama objek, utas apa pun yang menunggu panggilan balik objek selesai akan dirilis.
Utas tetap terkait dengan grup pembersihan objek hingga utas kembali ke kumpulan utas. Ini memungkinkan rutinitas matikan DLL dengan aman disinkronkan dengan panggilan balik yang luar biasa dan melanjutkan dengan membongkar kode DLL ketika semua panggilan balik telah selesai.
Objek yang menghasilkan panggilan balik tetap valid selama durasi panggilan balik. Objek panggilan balik dapat digunakan kembali atau dirilis (meskipun sinkronisasi dengan rilis grup pembersihan masih diperlukan).
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 | threadpoolapiset.h (termasuk Windows.h pada Windows 7, Windows Server 2008 Windows Server 2008 R2) |
Pustaka | Kernel32.lib |
DLL | Kernel32.dll |
Lihat juga
FreeLibraryWhenCallbackReturns
LeaveCriticalSectionWhenCallbackReturns
ReleaseMutexWhenCallbackReturns