Megosztás a következőn keresztül:


FunctionLeave3WithInfo függvény

Értesíti a profilozót, hogy a vezérlőt egy függvény adja vissza, és egy leírót biztosít, amely átadható az ICorProfilerInfo3::GetFunctionLeave3Info metódusnak a veremkeret és a visszatérési érték lekéréséhez.

Szintaxis

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

Paraméterek

functionIDOrClientID [in] Annak a függvénynek az azonosítója, amelyből a vezérlőelem vissza lesz adva.

eltInfo [in] Egy átlátszatlan leíró, amely egy adott veremkerettel kapcsolatos információkat jelöl. Ez a leíró csak abban a visszahívásban érvényes, amelyre át lett adva.

Megjegyzések

A FunctionLeave3WithInfo visszahívási metódus értesíti a profilozót függvények meghívásaként, és lehetővé teszi, hogy a profilozó az ICorProfilerInfo3::GetFunctionLeave3Info metódust használja a visszatérési érték vizsgálatához. A visszaadott érték adatainak eléréséhez be kell állítani a COR_PRF_ENABLE_FUNCTION_RETVAL jelzőt. A profilkészítő az ICorProfilerInfo::SetEventMask metódussal állíthatja be az eseményjelölőket, majd az ICorProfilerInfo3::SetEnterLeaveFunctionHooks3WithInfo metódussal regisztrálhatja a függvény implementációját.

A FunctionLeave3WithInfo 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ó motor nem ment 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 FunctionLeave3WithInfo 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. Szemétgyűjtési kísérlet esetén a futtatókörnyezet mindaddig blokkolva lesz, amíg vissza nem FunctionLeave3WithInfo tér.

A FunctionLeave3WithInfo függvény semmilyen módon nem hívhat be felügyelt kódot, és 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: 4 óta elérhető

Lásd még