Udostępnij za pośrednictwem


ICorProfilerInfo3::SetEnterLeaveFunctionHooks3 — Metoda

Określa funkcje implementowane przez profilera, które będą wywoływane w funkcjach FunctionEnter3, FunctionLeave3 i FunctionTailcall3 .

Składnia

HRESULT SetEnterLeaveFunctionHooks3(  
            [in] FunctionEnter3    *pFuncEnter3,  
            [in] FunctionLeave3    *pFuncLeave3,  
            [in] FunctionTailcall3 *pFuncTailcall3);  

Parametry

pFuncEnter3
[w] Wskaźnik do implementacji, która ma być używana jako FunctionEnter3 wywołanie zwrotne.

pFuncLeave3
[w] Wskaźnik do implementacji, która ma być używana jako FunctionLeave3 wywołanie zwrotne.

pFuncTailcall3
[w] Wskaźnik do implementacji, która ma być używana jako FunctionTailcall3 wywołanie zwrotne.

Uwagi

FunctionEnter3, FunctionLeave3 i FunctionTailcall3 haki nie zapewniają ramki stosu i inspekcji argumentów. Aby uzyskać dostęp do tych informacji, COR_PRF_ENABLE_FUNCTION_ARGSnależy ustawić flagi , COR_PRF_ENABLE_FUNCTION_RETVALi/lub COR_PRF_ENABLE_FRAME_INFO . Profiler może użyć metody ICorProfilerInfo::SetEventMask , aby ustawić flagi zdarzeń, a następnie użyć metody ICorProfilerInfo3::SetEnterLeaveFunctionHooks3WithInfo w celu zarejestrowania implementacji tej funkcji.

Tylko jeden zestaw wywołań zwrotnych może być aktywny w danym momencie, a najnowsza wersja ma pierwszeństwo. W związku z tym, jeśli profiler wywołuje zarówno Metodę SetEnterLeaveFunctionHooks2 , jak i metodę SetEnterLeaveFunctionHooks3 , SetEnterLeaveFunctionHooks3 jest używana.

Metoda SetEnterLeaveFunctionHooks3 może być wywoływana tylko z wywołania zwrotnego ICorProfilerCallback::Initialize profilera .

Wymagania

Platformy: Zobacz Wymagania systemowe.

Nagłówka: CorProf.idl, CorProf.h

Biblioteki: CorGuids.lib

wersje .NET Framework: dostępne od 4

Zobacz też