Udostępnij za pośrednictwem


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

Zobacz też