Partager via


ICorProfilerCallback::Shutdown, méthode

Notifie le profileur que l’application est en train de s’arrêter.

Syntaxe

HRESULT Shutdown();  

Notes

Le code du profileur ne peut pas appeler en toute sécurité les méthodes de l’interface ICorProfilerInfo après l’appel de la méthode Shutdown. Tous les appels aux méthodes ICorProfilerInfo entraînent un comportement non défini après le retour de la méthode Shutdown. Certains événements immuables peuvent toujours se produire après l’arrêt ; le profileur doit veiller à être immédiatement retourné quand cela se produit.

La méthode Shutdown est appelée uniquement si l’application managée en cours de profilage a démarré en tant que code managé (autrement dit, le frame initial dans la pile de processus est managée). Si l’application a démarré en tant que code non managé, mais qu’elle est passée par la suite à du code managé, ce qui crée donc une instance du Common Language Runtime (CLR), alors la méthode Shutdown ne sera pas appelée. Dans ce cas, le profileur doit inclure dans sa bibliothèque une routine DllMain qui utilise la valeur DLL_PROCESS_DETACH pour libérer toutes les ressources et effectuer un traitement de nettoyage de ses données, comme le vidage des traces sur le disque, etc.

En règle générale, le profileur doit faire face à des arrêts inattendus. Par exemple, un processus peut être interrompu par la méthode TerminateProcess de Win32 (déclarée dans Winbase.h). Dans d’autres cas, le CLR interrompt certains threads managés (threads en arrière-plan) sans fournir de messages de destruction ordonnés.

Spécifications

Plateformes : Consultez Configuration requise.

En-tête : CorProf.idl, CorProf.h

Bibliothèque : CorGuids.lib

Versions de .NET Framework : Disponible depuis la version 2.0

Voir aussi