FunctionLeave3 — Funkcja
Powiadamia profilera, że kontrolka jest zwracana z funkcji.
Składnia
void __stdcall FunctionLeave3(FunctionOrRemappedID functionOrRemappedID);
Parametry
functionOrRemappedID
[in] Identyfikator funkcji, z której jest zwracana kontrolka.
Uwagi
Funkcja FunctionLeave3
wywołania zwrotnego powiadamia profilera o wywoływaniu funkcji, ale nie obsługuje inspekcji wartości zwracanej. Użyj metody ICorProfilerInfo3::SetEnterLeaveFunctionHooks3 , aby zarejestrować implementację tej funkcji.
Funkcja FunctionLeave3
jest wywołaniem zwrotnym. Należy ją zaimplementować. Implementacja musi używać atrybutu __declspec(naked)
klasy magazynu.
Aparat wykonywania nie zapisuje żadnych rejestrów przed wywołaniem tej funkcji.
Podczas wprowadzania należy zapisać wszystkie używane rejestry, w tym rejestry w jednostce zmiennoprzecinkowe (FPU).
Po zakończeniu należy przywrócić stos przez wyskakujące okienko wszystkich parametrów, które zostały wypchnięte przez jego obiekt wywołujący.
Implementacja elementu FunctionLeave3
nie powinna blokować, ponieważ spowoduje to opóźnienie odzyskiwania pamięci. Implementacja nie powinna próbować odśmiecać pamięci, ponieważ stos może nie być w stanie przyjaznym dla odzyskiwania pamięci. Jeśli zostanie podjęta próba odzyskiwania pamięci, środowisko uruchomieniowe zostanie zablokowane do momentu FunctionLeave3
powrotu.
Funkcja FunctionLeave3
nie może wywołać kodu zarządzanego ani w żaden sposób spowodować alokację pamięci zarządzanej.
Wymagania
Platformy: Zobacz Wymagania systemowe.
Nagłówka: CorProf.idl
Biblioteki: CorGuids.lib
wersje .NET Framework: dostępne od 4