ICorProfilerCallback::RootReferences 方法
向分析工具告知記憶體回收之後根參考的相關資訊。
HRESULT RootReferences(
[in] ULONG cRootRefs,
[in, size_is(cRootRefs)] ObjectID rootRefIds[] );
參數
cRootRefs
[in] rootRefIds 陣列中的參考數目。rootRefIds
[in] 物件 ID 的陣列,這些物件 ID 會參考靜態物件或堆疊上的物件。
備註
若要告知分析工具,可呼叫 RootReferences 和 ICorProfilerCallback2::RootReferences2。 分析工具一般會實作其中一個,但非兩者,因為 RootReferences2 中傳遞的資訊是 RootReferences 中傳遞的超集。
rootRefIds 陣列可能會包含 null 物件。 例如,記憶體回收行程會將在堆疊上宣告的所有物件參考都視為根,而且一定都會報告它們。
RootReferences 傳回的物件 ID 在其本身的回呼期間是無效的,因為記憶體回收可能正在從舊位址移動物件至新位址。 因此,分析工具不應在 RootReferences 呼叫期間嘗試檢查物件。 呼叫 ICorProfilerCallback2::GarbageCollectionFinished 時,所有物件都已移至其新位置,並可安全地檢查。
需求
**平台:**請參閱 .NET Framework 系統需求。
**標頭:**CorProf.idl、CorProf.h
**程式庫:**CorGuids.lib
**.NET Framework 版本:**4、3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0