Udostępnij za pośrednictwem


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

Zobacz też