ICorProfilerInfo3::SetEnterLeaveFunctionHooks3WithInfo Method

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

HRESULT SetEnterLeaveFunctionHooks3WithInfo(
            [in] FunctionEnter3WithInfo    *pFuncEnter3,
            [in] FunctionLeave3withInfo    *pFuncLeave3,
            [in] FunctionTailcall3WithInfo *pFuncTailcall3);

Parameters

  • pFuncEnter3
    [in] A pointer to the implementation to be used as the FunctionEnter3WithInfo callback.

  • pFuncLeave3
    [in] A pointer to the implementation to be used as the FunctionLeave3WithInfo callback.

  • pFuncTailcall3
    [in] A pointer to the implementation to be used as the FunctionTailcall3WithInfo callback.

Remarks

The FunctionEnter3WithInfo, FunctionLeave3WithInfo, and FunctionTailcall3WithInfo hooks provide stack frame and argument inspection. To access that information, the COR_PRF_ENABLE_FUNCTION_ARGS, COR_PRF_ENABLE_FUNCTION_RETVAL, and/or COR_PRF_ENABLE_FRAME_INFO flags have to be set. The profiler can use the ICorProfilerInfo::SetEventMask method to set the event flags, and then use the SetEnterLeaveFunctionHooks3WithInfo method to register your implementation of this function.

Only one set of callbacks may be active at a time, and the newest version takes precedence. Therefore, if a profiler calls both SetEnterLeaveFunctionHooks2 and SetEnterLeaveFunctionHooks3WithInfo, SetEnterLeaveFunctionHooks3WithInfo is used.

The SetEnterLeaveFunctionHooks3WithInfo method may be called only from the profiler's ICorProfilerCallback::Initialize callback.

Requirements

Platforms: See .NET Framework System Requirements.

Header: CorProf.idl, CorProf.h

Library: CorGuids.lib

.NET Framework Versions: 4

See Also

Reference

SetEnterLeaveFunctionHooks3

FunctionEnter3

FunctionLeave3

FunctionTailcall3

FunctionEnter3WithInfo

FunctionLeave3WithInfo

FunctionTailcall3WithInfo

ICorProfilerInfo3 Interface

Other Resources

Profiling Global Static Functions

Profiling Interfaces

Profiling (Unmanaged API Reference)