共用方式為


ICorProfilerCallback::RootReferences 方法

向分析工具告知記憶體回收之後根參考的相關資訊。

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

參數

  • cRootRefs
    [in] rootRefIds 陣列中的參考數目。

  • rootRefIds
    [in] 物件 ID 的陣列,這些物件 ID 會參考靜態物件或堆疊上的物件。

備註

若要告知分析工具,可呼叫 RootReferencesICorProfilerCallback2::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

請參閱

參考

ICorProfilerCallback 介面