Funzione FunctionTailcall
Notifica al profiler che la funzione attualmente in esecuzione sta per effettuare una chiamata tail a un'altra funzione.
![]() |
---|
La funzione FunctionTailcall è deprecata in .NET Framework versione 2.0.Tale funzione continuerà a funzionare, ma con una riduzione delle prestazioni.Utilizzare invece la funzione FunctionTailcall2. |
void __stdcall FunctionTailcall (
[in] FunctionID funcID
);
Parametri
- funcID
[in] Identificatore della funzione attualmente in esecuzione che sta per effettuare una chiamata tail.
Note
La funzione di destinazione della chiamata tail utilizzerà lo stack frame corrente e restituirà i valori direttamente al chiamante della funzione che ha effettuato la chiamata tail. Ciò significa che per una funzione di destinazione di una chiamata tail non verrà generato un callback FunctionLeave.
La funzione FunctionTailcall è un callback; è necessario implementarla. L'implementazione deve utilizzare l'attributo della classe di archiviazione __declspec(naked).
Il motore di esecuzione non salva alcun registro prima di chiamare la funzione.
In ingresso, è necessario salvare tutti i registri che si utilizzano, incluso quelli dell'unità a virgola mobile (FPU).
In uscita, è necessario ripristinare lo stack recuperando tutti i parametri inseriti dal chiamante.
L'implementazione della funzione FunctionTailcall non deve bloccarsi perché ritarderà il Garbage Collection. L'implementazione non deve tentare una Garbage Collection perché lo stack potrebbe non trovarsi in uno stato favorevole per tale operazione. Se viene tentato un Garbage Collection, il runtime si bloccherà fino al completamento della funzione FunctionTailcall.
Inoltre, la funzione FunctionTailcall non deve effettuare una chiamata nel codice gestito o causare in alcun modo un'allocazione della memoria gestita.
Requisiti
Piattaforme: vedere Requisiti di sistema di .NET Framework.
Intestazione: CorProf.idl
Libreria: CorGuids.lib
Versioni di .NET Framework: 1.1, 1.0
Vedere anche
Riferimenti
Metodo ICorProfilerInfo2::SetEnterLeaveFunctionHooks2
Altre risorse
Funzioni statiche globali di profilatura
Cronologia delle modifiche
Data |
Cronologia |
Motivo |
---|---|---|
Ottobre 2010 |
__stdcall è stato aggiunto alla sintassi. |
Commenti e suggerimenti dei clienti. |