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