FunctionLeave — Funkcja
Powiadamia profilera, że funkcja ma wrócić do elementu wywołującego.
Uwaga
Funkcja FunctionLeave
jest przestarzała w .NET Framework 2.0. Będzie nadal działać, ale spowoduje karę za wykonanie. Zamiast tego użyj funkcji FunctionLeave2 .
Składnia
void __stdcall FunctionLeave (
[in] FunctionID funcID
);
Parametry
funcID
[in] Identyfikator zwracanej funkcji.
Uwagi
Funkcja FunctionLeave
jest wywołaniem zwrotnym. Należy ją zaimplementować. Implementacja musi używać atrybutu __declspec
klasy magazynu (naked
).
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 FunctionLeave
nie powinna blokować, ponieważ opóźni odzyskiwanie 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 FunctionLeave
powrotu.
FunctionLeave
Ponadto funkcja 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
.NET Framework wersje: 1.1, 1.0