Condividi tramite


Funzione FunctionLeave3

Notifica al profiler che il controllo viene restituito da una funzione.

Sintassi

void __stdcall FunctionLeave3(FunctionOrRemappedID functionOrRemappedID);  

Parametri

functionOrRemappedID [in] Identificatore della funzione da cui viene restituito il controllo.

Commenti

La FunctionLeave3 funzione di callback notifica al profiler come funzioni vengono chiamate, ma non supporta l'ispezione dei valori restituiti. Usare il metodo ICorProfilerInfo3::SetEnterLeaveFunctionHooks3 per registrare l'implementazione di questa funzione.

La FunctionLeave3 funzione è un callback. È necessario implementarla. L'implementazione deve usare l'attributo __declspec(naked) della classe di archiviazione.

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 FunctionLeave3 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 trovarsi in uno stato descrittivo di Garbage Collection. Se si tenta di eseguire un'operazione di Garbage Collection, il runtime verrà bloccato fino a FunctionLeave3 quando non viene restituito.

La FunctionLeave3 funzione non deve chiamare nel codice gestito o causare un'allocazione di memoria gestita in alcun modo.

Requisiti

Piattaforme: vedere Requisiti di sistema di .NET Framework.

Intestazione: CorProf.idl

Libreria: CorGuids.lib

Versioni di .NET Framework: Disponibile da 4

Vedi anche