Funzione FunctionEnter
Notifica al profiler che il controllo viene passato a una funzione.
Nota
La FunctionEnter
funzione è deprecata in .NET Framework versione 2.0 e l'uso comporta una riduzione delle prestazioni. Usare invece la funzione FunctionEnter2 .
Sintassi
void __stdcall FunctionEnter (
[in] FunctionID funcID
);
Parametri
funcID
[in] Identificatore della funzione a cui viene passato il controllo.
Commenti
La FunctionEnter
funzione è un callback. È necessario implementarla. L'implementazione deve usare l'attributo __declspec
della classe di archiviazione (naked
).
Il motore di esecuzione non salva alcun registro prima di chiamare questa funzione.
Nella voce è necessario salvare tutti i registri usati, inclusi quelli nell'unità a virgola mobile .On entry, you must save all registers that you use, including those in the floating-point unit (FPU).
All'uscita, è necessario ripristinare lo stack rimuovendo tutti i parametri di cui è stato eseguito il push dal chiamante.
L'implementazione di FunctionEnter
non deve essere bloccata perché ritarderà l'operazione di Garbage Collection. L'implementazione non deve tentare un'operazione di Garbage Collection perché lo stack potrebbe non essere in uno stato compatibile con Garbage Collection. Se si tenta di eseguire un'operazione di Garbage Collection, il runtime verrà bloccato fino a FunctionEnter
quando non viene restituito.
Inoltre, la FunctionEnter
funzione non deve chiamare nel codice gestito o in alcun modo causare un'allocazione di 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