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


Интерфейс ICorProfilerCallback2

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

Примечание

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

Методы

Метод Описание
Метод FinalizeableObjectQueued Уведомляет профилировщик кода о том, что объект с методом завершения помещен в очередь в поток метода завершения для выполнения его Finalize метода.
Метод GarbageCollectionFinished Уведомляет профилировщика о том, что сборка мусора завершена и для нее были выполнены все обратные вызовы сборки мусора.
Метод GarbageCollectionStarted Уведомляет профилировщик кода о начале сборки мусора.
Метод HandleCreated Уведомляет профилировщик кода о создании дескриптора сборки мусора.
Метод HandleDestroyed Уведомляет профилировщик кода о том, что дескриптор сборки мусора был уничтожен.
Метод RootReferences2 Уведомляет профилировщик о корневых ссылках после сборки мусора. Этот метод является расширением метода ICorProfilerCallback::RootReferences .
Метод SurvivingReferences Уведомляет профилировщик о ссылках на объекты, которые пережили сборку мусора.
Метод 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.

Требования

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

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

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

версии платформа .NET Framework: доступно с версии 2.0

См. также раздел