共用方式為


ICorProfilerCallback::ObjectReferences 方法

通知分析工具指定之物件所參考記憶體中的物件。

語法

HRESULT ObjectReferences(  
    [in]  ObjectID objectId,  
    [in]  ClassID  classId,  
    [in]  ULONG    cObjectRefs,  
    [in, size_is(cObjectRefs)] ObjectID objectRefIds[] );  

參數

objectId
[in] 參考物件的物件識別碼。

classId
[in] 指定物件是其執行個體之類別的識別碼。

cObjectRefs
[in] 指定物件所參考的物件數目 (也就是 objectRefIds 陣列中的項目數)。

objectRefIds
[in] objectId 所參考物件的識別碼陣列。

備註

在記憶體回收完成後,系統會針對堆積中剩餘的每個物件呼叫 ObjectReferences 方法。 如果分析工具從這個回呼傳回錯誤,分析服務將會停止叫用此回呼,直到下一次的記憶體回收為止。

ObjectReferences 回呼可與 ICorProfilerCallback::RootReferences 回呼搭配使用,以建立執行階段的完整物件參考圖形。 Common Language Runtime (CLR) 可確保 ObjectReferences 方法只會報告每個物件參考一次。

ObjectReferences 在自行回呼期間所傳回的物件識別碼無效,因為記憶體回收可能正在移動物件。 因此,分析工具不得嘗試在 ObjectReferences 呼叫期間檢查物件。 呼叫 ICorProfilerCallback2::GarbageCollectionFinished 時,記憶體回收已完成,因此可以放心地進行檢查。

null ClassId 表示 objectId 具有正在卸載的類型。

規格需求

平台:請參閱系統需求

標頭: CorProf.idl、CorProf.h

程式庫:CorGuids.lib

.NET Framework版本:自 2.0 起提供

另請參閱