Поделиться через


Интерфейс ICorProfilerCallback2

Предоставляет методы, используемые средой CLR для уведомления профилировщика кода о наступлении события, на которое подписан этот профилировщик. Интерфейс ICorProfilerCallback2 является расширением для интерфейса ICorProfilerCallback. Таким образом, предоставляются новые обратные вызовы, представленные в платформе .NET Framework версии 2.0.

ПримечаниеПримечание

Каждая реализация метода должна возвращать HRESULT со значением S_OK в случае успешного выполнения или E_FAIL в случае сбоя.В настоящий момент среда CLR игнорирует значения HRESULT, возвращенные любым обратным вызовом, за исключением ICorProfilerCallback::ObjectReferences.

Методы

Метод

Описание

Метод ICorProfilerCallback2::FinalizeableObjectQueued

Уведомляет профилировщик кода о том, что объект с методом завершения был поставлен в очередь в потоке методов завершения для выполнения его метода Finalize.

Метод ICorProfilerCallback2::GarbageCollectionFinished

Уведомляет профилировщик о завершении сборки мусора и осуществлении всех ее обратных вызовов.

Метод ICorProfilerCallback2::GarbageCollectionStarted

Уведомляет профилировщик кода о начале сборки мусора.

Метод ICorProfilerCallback2::HandleCreated

Уведомляет профилировщик кода о создании дескриптора сборки мусора.

Метод ICorProfilerCallback2::HandleDestroyed

Уведомляет профилировщик кода об удалении дескриптора сборки мусора.

Метод ICorProfilerCallback2::RootReferences2

Уведомляет профилировщик о корневых ссылках после выполнения сборки мусора. Этот метод является расширением для метода ICorProfilerCallback::RootReferences.

Метод ICorProfilerCallback2::SurvivingReferences

Уведомляет профилировщик о ссылках на объекты, которые остались после сборки мусора.

Метод ICorProfilerCallback2::ThreadNameChanged

Уведомляет профилировщик кода об изменении имени потока.

Заметки

Среда CLR вызывает метод в интерфейсе ICorProfilerCallback (или ICorProfilerCallback2) для уведомления профилировщика о появлении события, на которое этот профилировщик был подписан. Это основной интерфейс обратного вызова, посредством которого среда CLR взаимодействует с профилировщиком кода.

Профилировщик кода должен реализовать методы интерфейса ICorProfilerCallback. Для платформы .NET Framework версии 2.0 и выше, профилировщик должен также реализовывать методы ICorProfilerCallback2. Каждая реализация метода должна возвращать HRESULT со значением S_OK в случае успешного выполнения или E_FAIL в случае сбоя. В настоящий момент среда CLR игнорирует значения HRESULT, возвращенные любым обратным вызовом, за исключением ICorProfilerCallback::ObjectReferences.

Профилировщик кода должен быть зарегистрирован в реестре Microsoft Windows, его COM-объекте, который реализует интерфейсы ICorProfilerCallback и ICorProfilerCallback2. Профилировщик подписывается на события, для которых он должен получать уведомление, вызвав метод ICorProfilerInfo::SetEventMask. Обычно это осуществляется в реализованном профилировщиком методе ICorProfilerCallback::Initialize. Поэтому профилировщик может получить от среды выполнения уведомление о наступлении события или о том, что оно уже наступило в процессе среды выполнения.

ПримечаниеПримечание

Профилировщик регистрирует один COM-объект.Если профилировщик предназначен для платформы .NET Framework версии 1.0 или 1.1, COM-объекту нужно только реализовать методы ICorProfilerCallback.Если он предназначен для платформы .NET Framework версии 2.0 и выше, COM-объект должен также реализовать методы ICorProfilerCallback2.

Требования

Платформы: см. раздел Требования к системе для .NET Framework.

Заголовок: CorProf.idl, CorProf.h

Библиотека: CorGuids.lib

Версии платформы .NET Framework: 4, 3.5 с пакетом обновления 1 (SP1), 3.5, 3.0 с пакетом обновления 1 (SP1), 3.0, 2.0 с пакетом обновления 1 (SP1), 2.0

См. также

Ссылки

Интерфейс ICorProfilerCallback

Другие ресурсы

Профилирующие интерфейсы