Метод ICorProfilerInfo3::SetEnterLeaveFunctionHooks3
Указывает функции, реализованные профилировщиком, которые будут вызываться для функций FunctionEnter3, FunctionLeave3 и FunctionTailcall3 .
Синтаксис
HRESULT SetEnterLeaveFunctionHooks3(
[in] FunctionEnter3 *pFuncEnter3,
[in] FunctionLeave3 *pFuncLeave3,
[in] FunctionTailcall3 *pFuncTailcall3);
Параметры
pFuncEnter3
[in] Указатель на реализацию, которая будет использоваться в качестве обратного FunctionEnter3
вызова.
pFuncLeave3
[in] Указатель на реализацию, которая будет использоваться в качестве обратного FunctionLeave3
вызова.
pFuncTailcall3
[in] Указатель на реализацию, которая будет использоваться в качестве обратного FunctionTailcall3
вызова.
Комментарии
Обработчики FunctionEnter3, FunctionLeave3 и FunctionTailcall3 не обеспечивают проверку кадра и аргументов стека. Для доступа к этим сведениям COR_PRF_ENABLE_FUNCTION_ARGS
необходимо задать флаги , COR_PRF_ENABLE_FUNCTION_RETVAL
и (или COR_PRF_ENABLE_FRAME_INFO
). Профилировщик может использовать метод ICorProfilerInfo::SetEventMask для задания флагов событий, а затем использовать метод ICorProfilerInfo3::SetEnterLeaveFunctionHooks3WithInfo для регистрации реализации этой функции.
Одновременно может быть активен только один набор обратных вызовов, и приоритет имеет последняя версия. Поэтому, если профилировщик вызывает метод SetEnterLeaveFunctionHooks2 и SetEnterLeaveFunctionHooks3
метод , SetEnterLeaveFunctionHooks3
используется .
Метод SetEnterLeaveFunctionHooks3
может вызываться только из обратного вызова ICorProfilerCallback::Initialize профилировщика.
Требования
Платформы: см. раздел Требования к системе.
Заголовок: CorProf.idl, CorProf.h
Библиотека: CorGuids.lib
версии платформа .NET Framework: доступно с 4