Метод 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)