Метод 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