ICorProfilerInfo2 Interface

Provides methods that code profilers use to communicate with the common language runtime (CLR) to control event monitoring and request information. The ICorProfilerInfo2 interface is an extension of the ICorProfilerInfo interface. That is, it provides new methods supported in the .NET Framework version 2.0 and later versions.

Methods

Method Description
DoStackSnapshot Method Walks the stack of the specified thread to report managed call frames to the profiler.
EnumModuleFrozenObjects Method Gets an enumerator that allows iteration over the frozen objects in the specified module.
GetAppDomainStaticAddress Method Gets the address of the specified application domain-static field that is in the scope of the specified application domain.
GetArrayObjectInfo Method Gets detailed information about an array object.
GetBoxClassLayout Method Gets information about the class layout for a specified value type that is boxed.
GetClassFromTokenAndTypeArgs Method Gets the ClassID of a type by using the specified metadata token and the ClassID values of any type arguments.
GetClassIDInfo2 Method Gets the parent module of the specified generic class, the metadata token for the class, the ClassID of its parent class, and the ClassID for each type argument, if present, of the class.
GetClassLayout Method Gets information about the layout, in memory, of the fields defined by the specified class. That is, this method gets the offsets of the class's fields.
GetCodeInfo2 Method Gets the extents of native code associated with the specified FunctionID.
GetContextStaticAddress Method Gets the address of the specified context-static field that is in the scope of the specified context.
GetFunctionFromTokenAndTypeArgs Method Gets the FunctionID of a function by using the specified metadata token, containing class, and ClassID values of any type arguments.
GetFunctionInfo2 Method Gets the parent class, the metadata token, and the ClassID of each type argument, if present, of a function.
GetGenerationBounds Method Gets the memory regions (the segments of the heap) that make up the generations of the garbage-collected heap.
GetNotifiedExceptionClauseInfo Method Gets the native address and frame information for the exception clause (catch/finally/filter) that is about to be run or has just been run.
GetObjectGeneration Method Gets the segment of the heap that contains the specified object.
GetRVAStaticAddress Method Gets the address of the specified relative virtual address (RVA)-static field.
GetStaticFieldInfo Method Gets the scope in which the specified field is static.
GetStringLayout Method Gets information about the layout of a string object.
GetThreadAppDomain Method Gets the ID of the application domain in which the specified thread is currently executing code.
GetThreadStaticAddress Method Gets the address of the specified thread-static field that is in the scope of the specified thread.
SetEnterLeaveFunctionHooks2 Method Specifies profiler-implemented functions to be called on "enter", "leave", and "tailcall" hooks of managed functions.

Remarks

A profiler calls a method in the ICorProfilerInfo2 interface to communicate with the CLR to control event monitoring and request information.

The methods of the ICorProfilerInfo2 interface are implemented by the CLR using the free-threaded model. Each method returns an HRESULT to indicate success or failure. For a list of possible return codes, see the CorError.h file.

The CLR passes an ICorProfilerInfo2 interface to each code profiler during initialization, using the profiler's implementation of ICorProfilerCallback::Initialize. A code profiler can then call methods of the ICorProfilerInfo2 interface to get information about managed code being executed under the control of the CLR.

Requirements

Platforms: See System Requirements.

Header: CorProf.idl, CorProf.h

Library: CorGuids.lib

.NET Framework Versions: Available since 2.0

See also