Partager via


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

CallbackMayRunLong

FreeLibraryWhenCallbackReturns

LeaveCriticalSectionWhenCallbackReturns

ReleaseMutexWhenCallbackReturns

ReleaseSemaphoreWhenCallbackReturns

SetEventWhenCallbackReturns

Pools de threads

TrySubmitThreadpoolCallback