Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All

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;

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.

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 .NET Framework System Requirements.

Header: CorProf.idl, CorProf.h

Library: CorGuids.lib

.NET Framework Versions: 4.6 RC, 4.5.2, 4.5.1, 4.5, 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0

Show:
© 2015 Microsoft