ICorProfilerCallback2 Interface
Fornece métodos que são utilizados pelo common language runtime (CLR) para notificar um gerador de perfis de código quando ocorrem os eventos aos quais o gerador de perfis subscreveu. A ICorProfilerCallback2
interface é uma extensão da interface ICorProfilerCallback . Ou seja, fornece novas chamadas de retorno introduzidas no .NET Framework versão 2.0.
Nota
Cada implementação de método tem de devolver um HRESULT com um valor de S_OK com êxito ou E_FAIL em caso de falha. Atualmente, o CLR ignora o HRESULT que é devolvido por cada chamada de retorno, exceto ICorProfilerCallback::ObjectReferences.
Métodos
Método | Descrição |
---|---|
Método FinalizeableObjectQueued | Notifica o gerador de perfis de código de que um objeto com um finalizador foi colocado em fila para o thread de finalizador para execução do respetivo Finalize método. |
Método GarbageCollectionFinished | Notifica o gerador de perfis de que foi concluída uma libertação da memória e que foram emitidas todas as chamadas de retorno da libertação da memória. |
Método GarbageCollectionStarted | Notifica o gerador de perfis de código de que foi iniciada uma libertação da memória. |
Método HandleCreated | Notifica o gerador de perfis de código de que foi criada uma alça de libertação da memória. |
Método HandleDestroyed | Notifica o gerador de perfis de código de que foi destruída uma alça de libertação da memória. |
Método RootReferences2 | Notifica o gerador de perfis sobre referências de raiz depois de ter ocorrido uma libertação da memória. Este método é uma extensão do método ICorProfilerCallback::RootReferences . |
Método SurvivingReferences | Notifica o gerador de perfis sobre referências de objetos que sobreviveram a uma libertação da memória. |
ThreadNameChanged Method | Notifica o gerador de perfis de código de que o nome de um thread foi alterado. |
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 tinha subscrito. 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 2.0 e versões posteriores, o gerador de perfis também tem de implementar os ICorProfilerCallback2
métodos. Cada implementação de método tem de devolver um HRESULT com um valor de S_OK com êxito ou E_FAIL em caso de falha. Atualmente, o CLR ignora o HRESULT que é devolvido por cada chamada de retorno, exceto ICorProfilerCallback::ObjectReferences.
Um gerador de perfis de código tem de se registar no registo do Microsoft Windows, o respetivo objeto 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 .NET Framework versão 1.0 ou 1.1, esse objeto COM só precisa de implementar os métodos de ICorProfilerCallback
. Se tiver como destino .NET Framework versão 2.0 e 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 2.0