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

См. также раздел