Интерфейс 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