Интерфейс ICorProfilerCallback2
Предоставляет методы, используемые средой CLR для уведомления профилировщика кода о наступлении события, на которое подписан этот профилировщик. Интерфейс ICorProfilerCallback2 является расширением для интерфейса ICorProfilerCallback. Таким образом, предоставляются новые обратные вызовы, представленные в платформе .NET Framework версии 2.0.
Примечание |
---|
Каждая реализация метода должна возвращать HRESULT со значением S_OK в случае успешного выполнения или E_FAIL в случае сбоя.В настоящий момент среда CLR игнорирует значения HRESULT, возвращенные любым обратным вызовом, за исключением ICorProfilerCallback::ObjectReferences. |
Методы
Метод |
Описание |
---|---|
Уведомляет профилировщик кода о том, что объект с методом завершения был поставлен в очередь в потоке методов завершения для выполнения его метода Finalize. |
|
Уведомляет профилировщик о завершении сборки мусора и осуществлении всех ее обратных вызовов. |
|
Уведомляет профилировщик кода о начале сборки мусора. |
|
Уведомляет профилировщик кода о создании дескриптора сборки мусора. |
|
Уведомляет профилировщик кода об удалении дескриптора сборки мусора. |
|
Уведомляет профилировщик о корневых ссылках после выполнения сборки мусора. Этот метод является расширением для метода ICorProfilerCallback::RootReferences. |
|
Уведомляет профилировщик о ссылках на объекты, которые остались после сборки мусора. |
|
Уведомляет профилировщик кода об изменении имени потока. |
Заметки
Среда 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