FunctionTailcall3 — Funkcja
Powiadamia profilera, że aktualnie wykonywana funkcja ma wykonać wywołanie ogona do innej funkcji.
Składnia
void __stdcall FunctionTailcall3 (FunctionOrRemappedID functionOrRemappedID);
Parametry
functionOrRemappedID
[w] Identyfikator aktualnie wykonywanej funkcji, która ma na celu wywołanie ogona.
Uwagi
Funkcja FunctionTailcall3
wywołania zwrotnego powiadamia profilera jako wywoływane funkcje. Użyj metody ICorProfilerInfo3::SetEnterLeaveFunctionHooks3 , aby zarejestrować implementację tej funkcji.
Funkcja FunctionTailcall3
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 te w jednostce zmiennoprzecinkowej (FPU).
Po wyjściu należy przywrócić stos, wyskakując wszystkie parametry wypchnięte przez jego obiekt wywołujący.
Implementacja nie FunctionTailcall3
powinna blokować, ponieważ opóźni odzyskiwanie pamięci. Implementacja nie powinna próbować odzyskiwania pamięci, ponieważ stos może nie znajdować się w stanie przyjaznym dla odzyskiwania pamięci. Jeśli zostanie podjęta próba odzyskiwania pamięci, środowisko uruchomieniowe zostanie zablokowane do momentu FunctionTailcall3
powrotu.
Funkcja FunctionTailcall3
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