Sdílet prostřednictvím


FunctionEnter3WithInfo – funkce

Oznámí profileru, že ovládací prvek je předán do funkce a poskytuje popisovač, který lze předat ICorProfilerInfo3::GetFunctionEnter3Info metoda pro načtení zásobníku rámce a argumenty funkce.

Syntaxe

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

Parametry

functionIDOrClientID [v] Identifikátor funkce, do které je předán ovládací prvek.

eltInfo [v] Neprůžný popisovač, který představuje informace o daném rámci zásobníku. Tento popisovač je platný pouze během zpětného volání, do kterého je předán.

Poznámky

Metoda FunctionEnter3WithInfo zpětného volání upozorní profiler, protože funkce jsou volána, a umožňuje profiler použít ICorProfilerInfo3::GetFunctionEnter3Info metoda kontrolovat hodnoty argumentů. Pokud chcete získat přístup k informacím o argumentu COR_PRF_ENABLE_FUNCTION_ARGS , musí být nastaven příznak . Profiler může použít ICorProfilerInfo::SetEventMask metoda nastavit příznaky událostí a pak použít ICorProfilerInfo3::SetEnterLeaveFunctionHooks3WithInfo metoda zaregistrovat implementaci této funkce.

Funkce FunctionEnter3WithInfo je zpětné volání; musíte ji implementovat. Implementace musí používat __declspec(naked) atribut třídy úložiště.

Spouštěcí modul před voláním této funkce neukládá žádné registry.

  • Při vstupu musíte uložit všechny registry, které používáte, včetně těch v jednotce s plovoucí desetinou čárkou (FPU).

  • Při ukončení musíte zásobník obnovit tak, že zobrazíte všechny parametry, které byly vloženy volajícím.

Implementace FunctionEnter3WithInfo by neměla blokovat, protože zpozdí uvolňování paměti. Implementace by se neměla pokoušet o uvolňování paměti, protože zásobník nemusí být ve stavu vhodném pro uvolňování paměti. Pokud dojde k pokusu o uvolnění paměti, modul runtime se zablokuje, dokud FunctionEnter3WithInfo se nevrátí.

Funkce FunctionEnter3WithInfo nesmí volat spravovaný kód ani žádným způsobem způsobit přidělení spravované paměti.

Požadavky

Platformy: Viz Požadavky na systém.

Záhlaví: CorProf.idl

Knihovny: CorGuids.lib

Verze rozhraní .NET Framework: K dispozici od verze 2.0

Viz také