Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Értesíti a profilozót arról, hogy a vezérlő egy függvénynek van átadva, és információt nyújt a veremkeretről és a függvényargumentumokról. Ez a függvény felülírja a FunctionEnter függvényt.
Szintaxis
void __stdcall FunctionEnter2 (
[in] FunctionID funcId,
[in] UINT_PTR clientData,
[in] COR_PRF_FRAME_INFO func,
[in] COR_PRF_FUNCTION_ARGUMENT_INFO *argumentInfo
);
Paraméterek
funcId [in] Annak a függvénynek az azonosítója, amelynek a vezérlőt átadják.
clientData [in] Az újraképezett függvény azonosítója, amelyet a profilozó korábban a FunctionIDMapper függvénnyel adott meg.
func [in] Egy COR_PRF_FRAME_INFO érték, amely a veremkerettel kapcsolatos információkra mutat.
A profilelőnek ezt átlátszatlan leíróként kell kezelnie, amelyet vissza lehet adni a végrehajtó motornak az ICorProfilerInfo2::GetFunctionInfo2 metódusban.
argumentInfo [in] Egy COR_PRF_FUNCTION_ARGUMENT_INFO szerkezetre mutató mutató, amely meghatározza a függvény argumentumainak memóriájában lévő helyeket.
Az argumentumadatok eléréséhez be kell állítani a COR_PRF_ENABLE_FUNCTION_ARGS jelzőt. A profilozó az ICorProfilerInfo::SetEventMask metódust használhatja az eseményjelölők beállításához.
Megjegyzések
A és argumentInfo paraméter func értékei nem érvényesek a FunctionEnter2 függvény visszatérése után, mert az értékek megváltozhatnak vagy megsemmisülhetnek.
A FunctionEnter2 függvény visszahívás; implementálnia kell. Az implementációnak a __declspec(naked) storage-class attribútumot kell használnia.
A végrehajtási motor nem menti a regisztereket a függvény meghívása előtt.
A bejegyzéskor mentenie kell az összes használt regisztert, beleértve a lebegőpontos egységben (FPU) lévőket is.
Kilépéskor vissza kell állítania a vermet a hívó által leküldett összes paraméter kiugraásával.
A megvalósítása FunctionEnter2 nem tilthatja le, mert késlelteti a szemétgyűjtést. Az implementáció nem kísérelhet meg szemétgyűjtést, mert előfordulhat, hogy a verem nem szemétgyűjtés-barát állapotban van. Ha szemétgyűjtést kísérel meg, a futtatókörnyezet addig blokkolódik, amíg vissza nem FunctionEnter2 tér.
Emellett a FunctionEnter2 függvény nem hívhat be felügyelt kódot, és semmilyen módon nem okozhat felügyelt memóriafoglalást.
Követelmények
Platformok: Lásd: Rendszerkövetelmények.
Fejléc: CorProf.idl
Könyvtár: CorGuids.lib
.NET-keretrendszer verziók: 2.0 óta érhető el