Interface ICorProfilerCallback2
Fornece métodos que são usados pelo common linguagem tempo de execução (CLR) para notificar um criador de perfil de código quando ocorrem os eventos que o criador de perfil tem se inscreveu. The ICorProfilerCallback2 interface é uma extensão das ICorProfilerCallback interface. Ou seja, ele fornece novos retornos de chamada introduzidos no .NET estrutura versão 2.0.
Observação: |
---|
Cada implementação do método deve retornar uma HRESULT com um valor de S_OK no sucesso ou E_FAIL em caso de falha. Atualmente, o CLR ignora o HRESULT que é retornado por cada chamada de retorno, exceto ICorProfilerCallback::ObjectReferences. |
interface ICorProfilerCallback2 : ICorProfilerCallback
{
HRESULT ThreadNameChanged(
[in] ThreadID threadId,
[in] ULONG cchName,
[in] WCHAR name[]);
HRESULT GarbageCollectionStarted(
[in] int cGenerations,
[in, size_is(cGenerations), length_is(cGenerations)] BOOL generationCollected[],
[in] COR_PRF_GC_REASON reason);
HRESULT SurvivingReferences(
[in] ULONG cSurvivingObjectIDRanges,
[in, size_is(cSurvivingObjectIDRanges)] ObjectID objectIDRangeStart[] ,
[in, size_is(cSurvivingObjectIDRanges)] ULONG cObjectIDRangeLength[] );
HRESULT GarbageCollectionFinished();
HRESULT FinalizeableObjectQueued(
[in] DWORD finalizerFlags,
[in] ObjectID objectID);
HRESULT RootReferences2(
[in] ULONG cRootRefs,
[in, size_is(cRootRefs)] ObjectID rootRefIds[],
[in, size_is(cRootRefs)] COR_PRF_GC_ROOT_KIND rootKinds[],
[in, size_is(cRootRefs)] COR_PRF_GC_ROOT_FLAGS rootFlags[],
[in, size_is(cRootRefs)] UINT_PTR rootIds[]);
HRESULT HandleCreated(
[in] GCHandleID handleId,
[in] ObjectID initialObjectId);
HRESULT HandleDestroyed(
[in] GCHandleID handleId);
}
Métodos
Método |
Descrição |
---|---|
Notifica o criador de perfil de código que um objeto com um finalizador foi na na fila para o thread do finalizador para execução do seu Finalize método. |
|
Notifica o criador de perfil que um lixo coleção foi concluída e todos os lixo coleção retornos de chamada tem sido emitidos por ela. |
|
Notifica o criador de perfil de código que um lixo coleção foi iniciado. |
|
Notifica o criador de perfil de código que um lixo coleção identificador foi criado. |
|
Notifica o criador de perfil de código que um lixo coleção identificador foi destruído. |
|
Notifica o criador de perfil sobre referências raiz após um lixo coleção ocorreu. Esse método é uma extensão do ICorProfilerCallback::RootReferences método. |
|
Notifica o criador de perfil sobre referências de objeto que tenha uma coleta de lixo sobrevividas. |
|
Notifica o criador de perfil de código que o nome de um thread foi alterado. |
Comentários
O CLR chama um método no ICorProfilerCallback (ou ICorProfilerCallback2) interface para notificar o criador de perfil quando um evento, que o criador de perfil tinha inscrito, ocorre. Essa é a interface de retorno de chamada principal através do qual o CLR se comunica com o criador de perfil de código.
Um criador de perfil de código deve implementar os métodos do ICorProfilerCallback interface. Para o .NET estrutura 2.0 e versões posteriores, o criador de perfil também deve implementar o ICorProfilerCallback2 métodos. Cada implementação do método deve retornar um HRESULT que tiver o valor S_OK no sucesso ou E_FAIL em caso de falha. Atualmente, o CLR ignora o HRESULT retornado por cada chamada de retorno, exceto ICorProfilerCallback::ObjectReferences.
Um criador de perfil de código deve registrar no registro do Microsoft Windows, seu objeto COM que implementa o ICorProfilerCallback e ICorProfilerCallback2 interfaces. Os eventos para o qual deseja receber uma notificação chamando assina um criador de perfil de códigoICorProfilerInfo::SetEventMask. Normalmente, isso é concluído na implementação do criador de perfil de ICorProfilerCallback::inicializar. O criador de perfil, em seguida, é capaz de receber notificação de tempo de execução quando um evento está prestes a ocorrer ou ocorreu apenas em um processo em execução do tempo de execução.
Observação: |
---|
O criador de perfil registra um único objeto COM. Se o criador de perfil se destina a .NET estrutura versão 1 . 0 ou 1,1 , que o objeto COM apenas precisa implementam os métodos de ICorProfilerCallback. Se ele é objetivo .NET estrutura versão 2.0 e posterior, o objeto COM também deve implementar os métodos de ICorProfilerCallback2. |
Requisitos
Plataformas: See Requisitos de sistema do .NET framework.
Cabeçalho: CorProf.idl
Biblioteca: CorGuids.lib
.NET Framework Versions: 3.5 SP1, 3,5, 3.0 SP1, 3.0, 2.0 SP1, 2.0
Consulte também
Referência
Interface ICorProfilerCallback