Partager via


ICorProfilerCallback::Shutdown, méthode

Informe le profileur de l'arrêt de l'application.

HRESULT Shutdown();

Notes

Le code de profileur ne peut pas appeler sans risque les méthodes de l'interface ICorProfilerInfo après l'appel de la méthode Shutdown. Tout appel des méthodes ICorProfilerInfo provoque un comportement indéfini après le retour de la méthode Shutdown. Certains événements immuables peuvent encore se produire après l'arrêt ; dans ce cas, le profileur doit retourner immédiatement.

La méthode Shutdown est appelée uniquement si l'application managée profilée a été lancée comme du code managé (autrement dit, le frame initial sur la pile de processus est managé). Si l'application a été lancée comme du code non managé mais qu'elle est passée ensuite en code managé, créant ainsi une instance CLR, la méthode Shutdown n'est pas appelée. Dans ces cas de figure, le profileur doit inclure dans sa bibliothèque une routine DllMain qui utilise la valeur DLL_PROCESS_DETACH pour libérer les ressources et exécuter le nettoyage de ses données, comme la suppression des traces sur le disque, etc.

En général, le profileur doit faire face à des arrêts inattendus. Par exemple, un processus peut être arrêté par la méthode TerminateProcess de Win32 (déclarée dans Winbase.h). Dans d'autres cas, le CLR arrêtera certains threads managés (threads d'arrière-plan) sans afficher de messages de destruction appropriés pour ceux-ci.

Configuration requise

Plateformes : consultez Configuration requise du .NET Framework.

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

Bibliothèque : CorGuids.lib

Versions du .NET Framework : 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0

Voir aussi

Référence

ICorProfilerCallback, interface

ICorProfilerCallback::Initialize, méthode