COR_PRF_GC_ROOT_FLAGS Enumeration

 

Indicates a property of a garbage collection root.

typedef enum {  
    COR_PRF_GC_ROOT_PINNING = 0x1,  
    COR_PRF_GC_ROOT_WEAKREF = 0x2,  
    COR_PRF_GC_ROOT_INTERIOR = 0x4,  
    COR_PRF_GC_ROOT_REFCOUNTED = 0x8,  
} COR_PRF_GC_ROOT_FLAGS;  

MemberDescription
COR_PRF_GC_ROOT_PINNINGThe root prevents a garbage collection from moving the object.
COR_PRF_GC_ROOT_WEAKREFThe root does not prevent garbage collection.
COR_PRF_GC_ROOT_INTERIORThe root refers to a field of the object rather than the object itself.
COR_PRF_GC_ROOT_REFCOUNTEDThe root prevents garbage collection if the reference count of the object is a certain value.

COR_PRF_GC_ROOT_FLAGS is a bitmask that provides additional information about special roots. However, not all roots are special. For example, some roots are not weak references, interior pointers, pinned, or reference-counted. For such roots, there are no flags to convey. Therefore, methods that use this enumeration, such as the ICorProfilerCallback2::RootReferences2 method, send 0 for the flags bitmask, indicating that all flags are turned off.

Platforms: See System Requirements.

Header: CorProf.idl, CorProf.h

Library: CorGuids.lib

.NET Framework Versions: Available since 2.0

Profiling Enumerations

Show: