共用方式為


COR_GC_REFERENCE 結構

包含要進行記憶體回收之物件的相關資訊。

語法

typedef struct _COR_GC_REFERENCE {  
    ICorDebugAppDomain *domain;
    ICorDebugValue *location;  
    CorGCReferenceType type;  
    UINT64 extraData;  
} COR_GC_REFERENCE;  

成員

member 描述
domain 控制代碼或物件所屬的應用程式定義域的指標。 其值可為 null
location ICorDebugValue 或與要執行記憶體回收的物件對應的 ICorDebugReferenceValue 介面。
type CorGCReferenceType 列舉值,指出根目錄的來源。 如需詳細資訊,請參閱<備註>一節。
extraData 要執行記憶體回收的物件的其他相關資料。 此資訊取決於物件的來源,如 type 欄位所指出。 如需詳細資訊,請參閱<備註>一節。

備註

type 欄位 是 CorGCReferenceType 列舉值,指出參考的來源。 特定的 COR_GC_REFERENCE 值可以反映下列任何一種受控物件:

  • 來自所有受控堆疊的物件 (CorGCReferenceType.CorReferenceStack)。 這包括受控程式碼中的即時參考,以及通用語言執行階段所建立的物件。

  • 來自控制代碼資料表的物件 (CorGCReferenceType.CorHandle*)。 這包括模組中的強式參考 (HNDTYPE_STRONGHNDTYPE_REFCOUNT) 和靜態變數。

  • 來自完成項佇列的物件 (CorGCReferenceType.CorReferenceFinalizer)。 完成項會將根物件排入佇列,直到完成項執行為止。

根據參考的來源 (或類型),extraData 欄位會包含額外的資料。 可能的值包括:

  • DependentSource. 如果 typeCorGCReferenceType.CorHandleStrongDependent,則此欄位是物件,如果作用中,則會將物件根目錄放在 COR_GC_REFERENCE.Location 進行記憶體回收。

  • RefCount. 如果 typeCorGCReferenceType.CorHandleStrongRefCount,則此欄位是控制代碼的參考計數。

  • Size. 如果 typeCorGCReferenceType.CorHandleStrongSizedByref,則此欄位是記憶體回收行程計算物件根目錄的物件樹狀結構的最後一個大小。 請注意,此計算不一定是最新的。

規格需求

平台:請參閱系統需求

標頭:CorDebug.idl、CorDebug.h

程式庫:CorGuids.lib

.NET Framework版本:自 4.5 起可用

另請參閱