Share via


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;

Members

Member

Description

COR_PRF_GC_ROOT_PINNING

The root prevents a garbage collection from moving the object.

COR_PRF_GC_ROOT_WEAKREF

The root does not prevent garbage collection.

COR_PRF_GC_ROOT_INTERIOR

The root refers to a field of the object rather than the object itself.

COR_PRF_GC_ROOT_REFCOUNTED

The root prevents garbage collection if the reference count of the object is a certain value.

Remarks

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.

Requirements

Platforms: See .NET Framework System Requirements.

Header: CorProf.idl, CorProf.h

Library: CorGuids.lib

.NET Framework Versions: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0

See Also

Other Resources

Profiling Enumerations