COR_PRF_GC_ROOT_FLAGS Enumeration
Indicates a property of a garbage collection root.
Syntax
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 System Requirements.
Header: CorProf.idl, CorProf.h
Library: CorGuids.lib
.NET Framework Versions: Available since 2.0