ICorProfilerInfo3 Interface

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

Methods

Method

Description

ICorProfilerInfo3::EnumJITedFunctions Method

Returns an enumerator for all previously JIT-compiled functions.

ICorProfilerInfo3::EnumModules Method

Returns an enumerator that provides methods to sequentially iterate through a collection of managed modules that are loaded into the application.

ICorProfilerInfo3::GetAppDomainsContainingModule Method

Gets the identifiers of the application domains in which the given module has been loaded.

ICorProfilerInfo3::GetFunctionEnter3Info Method

Provides the stack frame and argument information of the function that is being reported to the profiler by the FunctionEnter3WithInfo function; can be called only during the FunctionEnter3WithInfo callback.

ICorProfilerInfo3::GetFunctionLeave3Info Method

Provides the stack frame and return value of the function that is being reported to the profiler by the FunctionLeave3WithInfo function function; can be called only during the FunctionLeave3WithInfo callback.

ICorProfilerInfo3::GetFunctionTailcall3Info Method

Provides the stack frame of the function that is being reported to the profiler by the FunctionTailcall3WithInfo function; can be called only during the FunctionTailcall3WithInfo callback.

ICorProfilerInfo3::GetModuleInfo2 Method

Given a module ID, returns the file name of the module, the ID of the module's parent assembly, and a bitmask that describes the properties of the module.

ICorProfilerInfo3::GetRuntimeInformation Method

Provides version information about the runtime that is being profiled.

ICorProfilerInfo3::GetStringLayout2 Method

Gets information about the layout of a string object.

ICorProfilerInfo3::GetThreadStaticAddress2 Method

Gets the address of the specified thread-static field that is in the scope of the specified thread and application domain.

ICorProfilerInfo3::RequestProfilerDetach Method

Instructs the runtime to detach the profiler.

ICorProfilerInfo3::SetEnterLeaveFunctionHooks3 Method

Specifies the profiler-implemented functions that will be called on the FunctionEnter3, FunctionLeave3, and FunctionTailcall3 functions.

ICorProfilerInfo3::SetEnterLeaveFunctionHooks3WithInfo Method

Specifies the profiler-implemented functions that will be called on the FunctionEnter3WithInfo, FunctionLeave3WithInfo, and FunctionTailcall3WithInfo hooks of managed functions.

ICorProfilerInfo3::SetFunctionIDMapper2 Method

Specifies the profiler-implemented function that will be called to map FunctionID values to alternative values, which are passed to the profiler's function entry/exit hooks. This method extends ICorProfilerInfo::SetFunctionIDMapper with a parameter that profilers may use to disambiguate among runtimes.

Remarks

The CLR implements the methods of the ICorProfilerInfo3 interface by 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 ICorProfilerInfo3 interface to each code profiler during initialization, using the profiler's implementation of the ICorProfilerCallback::Initialize or ICorProfilerCallback3::InitializeForAttach method. A code profiler can then call the ICorProfilerInfo3 methods to get information about managed code that is being executed under the control of the CLR.

For information about AppDomainID and FunctionID values, see Profiling and Runtime Notification IDs.

Requirements

Platforms: See .NET Framework System Requirements.

Header: CorProf.idl, CorProf.h

Library: CorGuids.lib

.NET Framework Versions:  4

See Also

Reference

ICorProfilerInfo Interface

Other Resources

Profiling Interfaces