ICorProfilerCallback::UnmanagedToManagedTransition Method

Notifies the profiler that a transition from unmanaged code to managed code has occurred.

HRESULT UnmanagedToManagedTransition(
    [in] FunctionID functionId,
    [in] COR_PRF_TRANSITION_REASON reason);

Parameters

  • functionId
    [in] The ID of the function that is being called.

  • reason
    [in] A value of the COR_PRF_TRANSITION_REASON enumeration that indicates whether the transition occurred because of a call into managed code from unmanaged code, or because of a return from an unmanaged function called by a managed one.

Remarks

If the value of reason is COR_PRF_TRANSITION_RETURN and functionId is not null, the function ID is that of the unmanaged function, and will never have been compiled using the just-in-time (JIT) compiler. Unmanaged functions have some basic information associated with them, such as a name and some metadata.

If the value of reason is COR_PRF_TRANSITION_CALL, it may be possible that the called function (that is, the managed function) has not yet been JIT-compiled.

Requirements

Platforms: See .NET Framework System Requirements.

Header: CorProf.idl, CorProf.h

Library: CorGuids.lib

.NET Framework Versions: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0

See Also

Reference

ICorProfilerCallback Interface

ICorProfilerCallback::ManagedToUnmanagedTransition Method

Using C++ Interop (Implicit PInvoke)

Other Resources

Using Explicit PInvoke in C++ (DllImport Attribute)