Condividi tramite


Funzione FunctionEnter3WithInfo

Notifica al profiler che il controllo viene passato a una funzione e fornisce un handle che può essere passato al metodo ICorProfilerInfo3::GetFunctionEnter3Info per recuperare il frame dello stack e gli argomenti della funzione.

Sintassi

void __stdcall FunctionEnter3WithInfo(  
               [in] FunctionIDOrClientID functionIDOrClientID,  
               [in] COR_PRF_ELT_INFO eltInfo);  

Parametri

functionIDOrClientID [in] Identificatore della funzione a cui viene passato il controllo.

eltInfo [in] Handle opaco che rappresenta informazioni su un determinato frame dello stack. Questo handle è valido solo durante il callback a cui viene passato.

Commenti

Il FunctionEnter3WithInfo metodo di callback notifica al profiler come funzioni e consente al profiler di usare il metodo ICorProfilerInfo3::GetFunctionEnter3Info per controllare i valori degli argomenti. Per accedere alle informazioni sugli argomenti, il COR_PRF_ENABLE_FUNCTION_ARGS flag deve essere impostato. Il profiler può usare il metodo ICorProfilerInfo::SetEventMask per impostare i flag di evento e quindi usare il metodo ICorProfilerInfo3::SetEnterLeaveFunctionHooks3WithInfo per registrare l'implementazione di questa funzione.

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

Il motore di esecuzione non salva i registri prima di chiamare questa funzione.

  • Nella voce è necessario salvare tutti i registri usati, inclusi quelli nell'unità a virgola mobile (FPU).

  • All'uscita, è necessario ripristinare lo stack rimuovendo tutti i parametri che sono stati sottoposti a push dal chiamante.

L'implementazione di FunctionEnter3WithInfo non deve essere bloccata perché ritarderà la Garbage Collection. L'implementazione non deve tentare una Garbage Collection, perché lo stack potrebbe non essere in uno stato descrittivo di Garbage Collection. Se viene eseguito un tentativo di Garbage Collection, il runtime blocca fino a quando non viene restituito FunctionEnter3WithInfo .

La FunctionEnter3WithInfo 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 2.0

Vedi anche