Partilhar via


ICorProfilerCallback Interface

Fornece métodos que são utilizados pelo runtime de linguagem comum (CLR) para notificar um gerador de perfis de código quando ocorrem os eventos aos quais o gerador de perfis subscreveu.

Métodos

Método Descrição
Método AppDomainCreationFinished Notifica o gerador de perfis de que foi criado um domínio de aplicação.
Método AppDomainCreationStarted Notifica o gerador de perfis de que está a ser criado um domínio de aplicação.
Método AppDomainShutdownFinished Notifica o gerador de perfis de que um domínio de aplicação foi descarregado de um processo.
Método AppDomainShutdownStarted Notifica o gerador de perfis de que um domínio de aplicação está a ser descarregado de um processo.
Método AssemblyLoadFinished Notifica o gerador de perfis de que uma assemblagem terminou de carregar.
Método AssemblyLoadStarted Notifica o gerador de perfis de que está a ser carregada uma assemblagem.
Método AssemblyUnloadFinished Notifica o gerador de perfis de que uma assemblagem foi descarregada.
Método AssemblyUnloadStarted Notifica o gerador de perfis de que uma assemblagem está a ser descarregada.
Método ClassLoadFinished Notifica o gerador de perfis de que uma classe terminou de carregar.
Método ClassLoadStarted Notifica o gerador de perfis de que uma classe está a ser carregada.
Método ClassUnloadFinished Notifica o gerador de perfis de que uma classe terminou de descarregar.
Método ClassUnloadStarted Notifica o gerador de perfis de que uma classe está a ser descarregada.
Método COMClassicVTableCreated Notifica o gerador de perfis de que foi criado um wrapper callable de runtime (RCW) para o IID e classe especificados.
Método COMClassicVTableDestroyed Notifica o gerador de perfis de que uma RCW está a ser destruída.
Método ExceptionCatcherEnter Notifica o gerador de perfis de que o controlo está a ser transmitido para o bloco adequado catch .
Método ExceptionCatcherLeave Notifica o gerador de perfis de que o controlo está a ser desmaiado do bloco adequado catch .
Método ExceptionCLRCatcherExecute Obsoleto na .NET Framework versão 2.0.
Método ExceptionCLRCatcherFound Obsoleto no .NET Framework 2.0.
Método ExceptionOSHandlerEnter Não implementado. Um gerador de perfis que necessite de informações de exceção não geridas tem de obter estas informações através de outros meios.
Método ExceptionOSHandlerLeave Não implementado. Um gerador de perfis que necessite de informações de exceção não geridas tem de obter estas informações através de outros meios.
Método ExceptionSearchCatcherFound Notifica o gerador de perfis de que a fase de pesquisa do processamento de exceções localizou um processador para a exceção que foi emitida.
Método ExceptionSearchFilterEnter Notifica o gerador de perfis de que está a ser executado um filtro de utilizador.
Método ExceptionSearchFilterLeave Notifica o gerador de perfis de que um filtro de utilizador acabou de concluir a execução.
Método ExceptionSearchFunctionEnter Notifica o gerador de perfis de que a fase de pesquisa do processamento de exceções entrou numa função.
Método ExceptionSearchFunctionLeave Notifica o gerador de perfis de que a fase de pesquisa do processamento de exceções terminou a pesquisa numa função.
Método ExceptionThrown Notifica o gerador de perfis de que foi emitida uma exceção.
Método ExceptionUnwindFinallyEnter Notifica o gerador de perfis de que a fase de desativação do processamento de exceções está a introduzir uma finally cláusula contida na função especificada.
Método ExceptionUnwindFinallyLeave Notifica o gerador de perfis de que a fase de desativação do processamento de exceções deixou uma finally cláusula.
Método ExceptionUnwindFunctionEnter Notifica o gerador de perfis de que a fase de desativação do processamento de exceções entrou numa função.
Método ExceptionUnwindFunctionLeave Notifica o gerador de perfis de que a fase de descontração do processamento de exceções terminou de descontrair uma função.
Método FunctionUnloadStarted Notifica o gerador de perfis de que o runtime começou a descarregar uma função.
Método Initialize Chamada para inicializar o gerador de perfis sempre que uma nova aplicação CLR for iniciada.
Método JITCachedFunctionSearchFinished Notifica o gerador de perfis de que uma pesquisa foi concluída para uma função que foi compilada anteriormente com NGen.exe.
Método JITCachedFunctionSearchStarted Notifica o gerador de perfis de que foi iniciada uma pesquisa para uma função que foi compilada anteriormente com NGen.exe.
Método JITCompilationFinished Notifica o gerador de perfis de que o compilador JIT concluiu a compilação de uma função.
Método JITCompilationStarted Notifica o gerador de perfis de que o compilador just-in-time (JIT) começou a compilar uma função.
Método JITFunctionPitched Notifica o gerador de perfis de que uma função compilada por JIT foi removida da memória.
Método JITInlining Notifica o gerador de perfis de que o compilador JIT está prestes a inserir uma função em linha com outra função.
Método ManagedToUnmanagedTransition Notifica o gerador de perfis de que ocorreu uma transição do código gerido para o código não gerido.
ModuleAttachedToAssembly Method Notifica o gerador de perfis de que um módulo está a ser anexado à respetiva assemblagem principal.
ModuleLoadFinished Method Notifica o gerador de perfis de que um módulo terminou de carregar.
Método ModuleLoadStarted Notifica o gerador de perfis de que um módulo está a ser carregado.
ModuleUnloadFinished Method Notifica o gerador de perfis de que um módulo terminou de descarregar.
Método ModuleUnloadStarted Notifica o gerador de perfis de que um módulo está a ser descarregado.
Método MovedReferences Notifica o gerador de perfis sobre as referências de objetos que foram movidas durante a recolha de lixo.
Método ObjectAllocated Notifica o gerador de perfis de que a memória dentro da área dinâmica para dados foi alocada para um objeto.
ObjectReferences Method Notifica o gerador de perfis sobre objetos na memória referenciados pelo objeto especificado.
ObjectsAllocatedByClass Method Notifica o gerador de perfis sobre o número de instâncias de cada classe especificada que foram criadas desde a libertação da memória anterior.
Método RemotingClientInvocationFinished Notifica o gerador de perfis de que uma chamada remota foi executada até à conclusão no cliente.
Método RemotingClientInvocationStarted Notifica o gerador de perfis de que foi iniciada uma chamada remota.
Método RemotingClientReceivingReply Notifica o gerador de perfis de que a parte do lado do servidor de uma chamada remota foi concluída e que o cliente está agora a receber e prestes a processar a resposta.
Método RemotingClientSendingMessage Notifica o gerador de perfis de que o cliente está a enviar um pedido para o servidor.
Método RemotingServerInvocationReturned Notifica o gerador de perfis de que o processo terminou de invocar um método em resposta a um pedido de invocação de método remoto.
Método RemotingServerInvocationStarted Notifica o gerador de perfis de que o processo está a invocar um método em resposta a um pedido de invocação de método remoto.
Método RemotingServerReceivingMessage Notifica o gerador de perfis de que o processo está a receber um pedido de invocação ou ativação de método remoto.
Método RemotingServerSendingReply Notifica o gerador de perfis de que o processo terminou o processamento de um pedido de invocação de método remoto e está prestes a transmitir a resposta através de um canal.
Método RootReferences Notifica o gerador de perfis com informações sobre referências de raiz após a libertação da memória.
Método RuntimeResumeFinished Notifica o gerador de perfis de que o runtime retomou todos os threads de runtime e regressou ao funcionamento normal.
Método RuntimeResumeStarted Notifica o gerador de perfis de que o runtime está a retomar todos os threads de tempo de execução.
Método RuntimeSuspendAborted Notifica o gerador de perfis de que o runtime abortou a suspensão de tempo de execução que estava a ocorrer.
Método RuntimeSuspendFinished Notifica o gerador de perfis de que o runtime concluiu a suspensão de todos os threads de tempo de execução.
Método RuntimeSuspendStarted Notifica o gerador de perfis de que o runtime está prestes a suspender todos os threads de tempo de execução.
Método RuntimeThreadResumed Notifica o gerador de perfis de que o thread especificado foi retomado após ser suspenso.
RuntimeThreadSuspended Method Notifica o gerador de perfis de que o thread especificado foi, ou está prestes a ser, suspenso.
Método de Encerramento Notifica o gerador de perfis de que a aplicação está a encerrar.
Método ThreadAssignedToOSThread Notifica o gerador de perfis de que está a ser implementado um thread gerido através de um thread de sistema operativo (SO) específico.
ThreadCreated Method Notifica o gerador de perfis de que foi criado um thread.
Método ThreadDestroyed Notifica o gerador de perfis de que um thread foi destruído.
Método UnmanagedToManagedTransition Notifica o gerador de perfis de que ocorreu uma transição do código não gerido para o código gerido.

Observações

O CLR chama um método na ICorProfilerCallback interface (ou ICorProfilerCallback2) para notificar o gerador de perfis quando ocorre um evento, ao qual o gerador de perfis subscreveu. Esta é a interface de chamada de retorno principal através da qual o CLR comunica com o gerador de perfis de código.

Um gerador de perfis de código tem de implementar os métodos da ICorProfilerCallback interface. Para o .NET Framework versão 2.0 ou posterior, o gerador de perfis também tem de implementar os ICorProfilerCallback2 métodos. Cada implementação de método tem de devolver um HRESULT que tenha um valor de S_OK em caso de êxito ou E_FAIL em caso de falha. Atualmente, o CLR ignora o HRESULT que é devolvido por cada chamada de retorno, exceto ICorProfilerCallback::ObjectReferences.

No registo do Microsoft Windows, um gerador de perfis de código tem de registar o objeto Component Object Model (COM) que implementa as ICorProfilerCallback interfaces e ICorProfilerCallback2 . Um gerador de perfis de código subscreve os eventos para os quais pretende receber uma notificação ao chamar ICorProfilerInfo::SetEventMask. Normalmente, isto é feito na implementação de ICorProfilerCallback::Initialize do gerador de perfis. Em seguida, o gerador de perfis pode receber uma notificação do runtime quando um evento está prestes a ocorrer ou apenas ocorreu num processo de runtime em execução.

Nota

O gerador de perfis regista um único objeto COM. Se o gerador de perfis tiver como destino o .NET Framework versão 1.0 ou 1.1, esse objeto COM tem de implementar apenas os métodos de ICorProfilerCallback. Se tiver como destino .NET Framework versão 2.0 ou posterior, o objeto COM também tem de implementar os métodos de ICorProfilerCallback2.

Requisitos

Plataformas: Veja Requisitos de Sistema.

Cabeçalho: CorProf.idl, CorProf.h

Biblioteca: CorGuids.lib

.NET Framework Versões: Disponível desde 1.0

Ver também