Funzione DisassociateCurrentThreadFromCallback (threadpoolapiset.h)
Rimuove l'associazione tra la funzione di callback attualmente in esecuzione e l'oggetto che ha avviato il callback. Il thread corrente non verrà più conteggiato come esecuzione di un callback per conto dell'oggetto.
void DisassociateCurrentThreadFromCallback(
[in, out] PTP_CALLBACK_INSTANCE pci
);
[in, out] pci
Puntatore a una struttura TP_CALLBACK_INSTANCE che definisce l'istanza di callback. Il puntatore viene passato alla funzione di callback.
nessuno
Se si tratta dell'ultimo thread che esegue un callback per conto dell'oggetto, tutti i thread in attesa del completamento dei callback dell'oggetto verranno rilasciati.
Il thread rimane associato al gruppo di pulizia dell'oggetto fino a quando il thread torna al pool di thread. In questo modo, le routine di arresto dll si sincronizzano in modo sicuro con callback in sospeso e si procede con lo scaricamento del codice della DLL al termine di tutti i callback.
L'oggetto di generazione del callback rimane valido per la durata del callback. L'oggetto callback può essere riutilizzato o rilasciato (anche se la sincronizzazione con la versione del gruppo di pulizia è ancora necessaria).
Per compilare un'applicazione che usa questa funzione, definire _WIN32_WINNT come 0x0600 o versione successiva.
Client minimo supportato | Windows Vista [app desktop | App UWP] |
Server minimo supportato | Windows Server 2008 [app desktop | App UWP] |
Piattaforma di destinazione | Windows |
Intestazione | threadpoolapiset.h (includere Windows.h in Windows 7, Windows Server 2008 Windows Server 2008 R2) |
Libreria | Kernel32.lib |
DLL | Kernel32.dll |
FreeLibraryWhenCallbackReturns
LeaveCriticalSectionWhenCallbackReturns
ReleaseMutexWhenCallbackReturns