Compartilhar via


Método ICorProfilerCallback::Shutdown

Notifica o criador de perfil de que o aplicativo está sendo desligado.

Sintaxe

HRESULT Shutdown();  

Comentários

O código do criador de perfil não pode chamar com segurança métodos da interface ICorProfilerInfo depois que o método Shutdown é chamado. Todas as chamadas para métodos ICorProfilerInfo resultam em um comportamento indefinido após o retorno do método Shutdown. Determinados eventos imutáveis ainda podem ocorrer após o desligamento. O criador de perfil deve ficar atendo e retornar imediatamente quando isso ocorrer.

O método Shutdown será chamado somente se o aplicativo gerenciado do qual o perfil está sendo criado começou como código gerenciado (ou seja, o quadro inicial na pilha de processos é gerenciado). Se o aplicativo começou como código não gerenciado, mas mais tarde entrou no código gerenciado, criando assim uma instância do CLR (Common Language Runtime), então Shutdown não será chamado. Para esses casos, o criador de perfil deve incluir em sua biblioteca uma rotina DllMain que usa o valor DLL_PROCESS_DETACH para liberar todos os recursos e executar o processamento de limpeza de seus dados, como liberar rastreamentos para disco e assim por diante.

Em geral, o criador de perfil deve lidar com desligamentos inesperados. Por exemplo, um processo pode ser interrompido pelo método TerminateProcess do Win32 (declarado em Winbase.h). Em outros casos, o CLR interromperá determinados threads gerenciados (threads em segundo plano) sem fornecer mensagens de destruição ordenadas para eles.

Requisitos

Plataformas: confira Requisitos do sistema.

Cabeçalho: CorProf.idl, CorProf.h

Biblioteca: CorGuids.lib

Versões do .NET Framework: disponíveis desde 2.0

Confira também