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_ARGS
należy ustawić flagi , COR_PRF_ENABLE_FUNCTION_RETVAL
i/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