Funzione FunctionEnter3WithInfoFunctionEnter3WithInfo Function

Notifica al profiler di controllo viene passato a una funzione e fornisce un handle che può essere passato al ICorProfilerInfo3:: GetFunctionEnter3Info per recuperare gli argomenti di stack frame e la funzione.Notifies the profiler that control is being passed to a function, and provides a handle that can be passed to the ICorProfilerInfo3::GetFunctionEnter3Info method to retrieve the stack frame and function arguments.

SintassiSyntax

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

ParametriParameters

functionIDOrClientID
[in] Identificatore della funzione a cui il controllo viene passato.[in] The identifier of the function to which control is passed.

eltInfo
[in] Handle opaco che rappresenta le informazioni su un determinato stack frame.[in] An opaque handle that represents information about a given stack frame. Questo handle è valido solo durante il callback a cui viene passato.This handle is valid only during the callback to which it is passed.

NoteRemarks

Il FunctionEnter3WithInfo metodo di callback di notifica al profiler le funzioni che vengono chiamati e consente al profiler di usare il ICorProfilerInfo3:: GetFunctionEnter3Info per controllare i valori degli argomenti.The FunctionEnter3WithInfo callback method notifies the profiler as functions are called, and enables the profiler to use the ICorProfilerInfo3::GetFunctionEnter3Info method to inspect argument values. Per accedere alle informazioni di argomento, la COR_PRF_ENABLE_FUNCTION_ARGS flag deve essere impostata.To access argument information, the COR_PRF_ENABLE_FUNCTION_ARGS flag has to be set. Il profiler può utilizzare il metodo ICorProfilerInfo:: SetEventMask per impostare i flag di evento e quindi usare il ICorProfilerInfo3:: SetEnterLeaveFunctionHooks3WithInfo per registrare il implementazione di questa funzione.The profiler can use the ICorProfilerInfo::SetEventMask method to set the event flags, and then use the ICorProfilerInfo3::SetEnterLeaveFunctionHooks3WithInfo method to register your implementation of this function.

Il FunctionEnter3WithInfo funzione è un callback, è necessario implementarla.The FunctionEnter3WithInfo function is a callback; you must implement it. L'implementazione deve utilizzare il __declspec(naked) attributo della classe di archiviazione.The implementation must use the __declspec(naked) storage-class attribute.

Il motore di esecuzione non viene salvato alcun registro prima di chiamare questa funzione.The execution engine does not save any registers before calling this function.

  • In ingresso, è necessario salvare tutti i registri in uso, inclusi quelli in unità a virgola mobile (FPU).On entry, you must save all registers that you use, including those in the floating-point unit (FPU).

  • All'uscita, è necessario ripristinare lo stack recuperando tutti i parametri che sono stati inviati dal chiamante.On exit, you must restore the stack by popping off all the parameters that were pushed by its caller.

L'implementazione di FunctionEnter3WithInfo non devono bloccarsi perché ritarderà l'operazione di garbage collection.The implementation of FunctionEnter3WithInfo should not block, because it will delay garbage collection. L'implementazione non deve tentare una garbage collection, perché lo stack potrebbe non essere in uno stato di raccolta semplice garbage.The implementation should not attempt a garbage collection, because the stack may not be in a garbage collection-friendly state. Se si tenta un'operazione di garbage collection, il runtime si bloccherà finché FunctionEnter3WithInfo restituisce.If a garbage collection is attempted, the runtime will block until FunctionEnter3WithInfo returns.

Il FunctionEnter3WithInfo funzione non deve chiamare codice gestito o causare un'allocazione di memoria gestita in alcun modo.The FunctionEnter3WithInfo function must not call into managed code or cause a managed memory allocation in any way.

RequisitiRequirements

Piattaforme: vedere requisiti di sistema.Platforms: See System Requirements.

Intestazione: Corprof. idlHeader: CorProf.idl

Libreria: CorGuids. libLibrary: CorGuids.lib

Versioni di .NET framework: Disponibile dalla 2.0Available since 2.0.NET Framework Versions: Disponibile dalla 2.0Available since 2.0

Vedere ancheSee Also

GetFunctionEnter3InfoGetFunctionEnter3Info
FunctionEnter3FunctionEnter3
FunctionLeave3FunctionLeave3
Funzioni statiche globali di profilaturaProfiling Global Static Functions