Bagikan melalui


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

CallbackMayRunLong

FreeLibraryWhenCallbackReturns

LeaveCriticalSectionWhenCallbackReturns

ReleaseMutexWhenCallbackReturns

ReleaseSemaphoreWhenCallbackReturns

SetEventWhenCallbackReturns

Kumpulan Utas

TrySubmitThreadpoolCallback