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 egy függvény visszatér a hívóhoz, és információt nyújt a veremkeretről és a függvény visszatérési értékéről.
Szintaxis
void __stdcall FunctionLeave2 (
[in] FunctionID funcId,
[in] UINT_PTR clientData,
[in] COR_PRF_FRAME_INFO func,
[in] COR_PRF_FUNCTION_ARGUMENT_RANGE *retvalRange
);
Paraméterek
funcId [in] A visszaadott függvény azonosítója.
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.
retvalRange [in] Egy COR_PRF_FUNCTION_ARGUMENT_RANGE szerkezetre mutató mutató, amely meghatározza a függvény visszatérési értékének memóriahelyét.
A visszaadott értékadatok eléréséhez be kell állítani a COR_PRF_ENABLE_FUNCTION_RETVAL 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 retvalRange paraméter func értékei nem érvényesek a FunctionLeave2 függvény visszatérése után, mert az értékek megváltozhatnak vagy megsemmisülhetnek.
A FunctionLeave2 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 FunctionLeave2 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 FunctionLeave2 tér.
Emellett a FunctionLeave2 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