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