DisassociateCurrentThreadFromCallback, fonction (threadpoolapiset.h)
Supprime l’association entre la fonction de rappel en cours d’exécution et l’objet qui a lancé le rappel. Le thread actuel n’est plus considéré comme exécutant un rappel pour le compte de l’objet .
Syntaxe
void DisassociateCurrentThreadFromCallback(
[in, out] PTP_CALLBACK_INSTANCE pci
);
Paramètres
[in, out] pci
Pointeur vers une structure de TP_CALLBACK_INSTANCE qui définit le rappel instance. Le pointeur est passé à la fonction de rappel.
Valeur de retour
None
Remarques
S’il s’agit du dernier thread exécutant un rappel pour le compte de l’objet, tous les threads en attente de la fin des rappels de l’objet seront libérés.
Le thread reste associé au groupe de nettoyage de l’objet jusqu’à ce que le thread retourne au pool de threads. Cela permet aux routines d’arrêt de DLL de se synchroniser en toute sécurité avec les rappels en attente et de procéder au déchargement du code de la DLL lorsque tous les rappels sont terminés.
L’objet de génération de rappel reste valide pendant la durée du rappel. L’objet de rappel peut être réutilisé ou libéré (bien que la synchronisation avec la version du groupe de nettoyage soit toujours requise).
Pour compiler une application qui utilise cette fonction, définissez _WIN32_WINNT comme 0x0600 ou une version ultérieure.
Configuration requise
Client minimal pris en charge | Windows Vista [applications de bureau | applications UWP] |
Serveur minimal pris en charge | Windows Server 2008 [applications de bureau | applications UWP] |
Plateforme cible | Windows |
En-tête | threadpoolapiset.h (inclure Windows.h sur Windows 7, Windows Server 2008 Windows Server 2008 R2) |
Bibliothèque | Kernel32.lib |
DLL | Kernel32.dll |
Voir aussi
FreeLibraryWhenCallbackReturns
LeaveCriticalSectionWhenCallbackReturns
ReleaseMutexWhenCallbackReturns