Поделиться через


Метод ICorProfilerCallback::UnmanagedToManagedTransition

Уведомляет профилировщик о переходе между управляемым и неуправляемым кодом.

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

Параметры

  • functionId
    [in] Идентификатор вызываемой функции.

  • reason
    [in] Значение перечисления COR_PRF_TRANSITION_REASON, указывающего причину перехода: из-за вызова управляемого кода из неуправляемого или из-за возврата значения неуправляемой функцией, вызванной управляемым кодом.

Заметки

Если значение параметра reason равно COR_PRF_TRANSITION_RETURN, а значение параметра functionId не равно NULL, идентификатор функции будет соответствовать неуправляемой функции и для него никогда не будет выполняться компиляция с использованием JIT-компилятора. С неуправляемыми функциями связаны определенные базовые сведения, например имя и некоторые данные.

Если значение параметра reason равно COR_PRF_TRANSITION_CALL, возможно, для вызываемой (управляемой) функции еще не была выполнена JIT-компиляция.

Требования

Платформы: см. раздел Требования к системе для .NET Framework.

Заголовок: CorProf.idl, CorProf.h

Библиотека: CorGuids.lib

Версии платформы .NET Framework: 4, 3.5 с пакетом обновления 1 (SP1), 3.5, 3.0 с пакетом обновления 1 (SP1), 3.0, 2.0 с пакетом обновления 1 (SP1), 2.0

См. также

Ссылки

Интерфейс ICorProfilerCallback

Метод ICorProfilerCallback::ManagedToUnmanagedTransition

Использование взаимодействия языка C++ (неявный PInvoke)

Другие ресурсы

Использование явного вызова Pinvoke в C++ (атрибут DllImport)