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


Метод ICorProfilerCallback::RootReferences

Предоставляет профилировщику информацию о корневых ссылках после сборки мусора.

HRESULT RootReferences(
    [in] ULONG    cRootRefs,
    [in, size_is(cRootRefs)] ObjectID rootRefIds[] );

Параметры

  • cRootRefs
    [in] Количество ссылок в массиве rootRefIds.

  • rootRefIds
    [in] Массив идентификаторов объекта, ссылающихся на статический объект или на объект в стеке.

Заметки

Как RootReferences, так и ICorProfilerCallback2::RootReferences2 вызываются для оповещения профилировщика. Профилировщики, как правило, реализуют лишь один из них, так как информация, переданная в RootReferences2, является надмножеством информации, переданной в RootReferences.

Массив rootRefIds может содержать пустой объект. Например, все ссылки на объект, объявленные в стеке, обрабатываются в качестве корней сборщиком мусора. Их наличие будет всегда сообщаться.

Идентификаторы объекта, возвращенные RootReferences, недействительны в процессе обратного вызова, так как сборка мусора может находиться в процессе перемещения объектов со старых адресов на новые адреса. Поэтому профилировщики не должны пытаться выполнить проверку объектов в процессе вызова RootReferences. При вызове ICorProfilerCallback2::GarbageCollectionFinished все объекты перемещены на новые расположения и могут быть безопасно проверены.

Требования

Платформы: см. раздел Требования к системе для .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