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 jelenleg végrehajtó függvény egy másik függvényre irányuló tail hívást készül végrehajtani.
Megjegyzés
A FunctionTailcall függvény elavult a .NET-keretrendszer 2.0-s verziójában. Továbbra is működni fog, de teljesítménybírságot von maga után. Használja helyette a FunctionTailcall2 függvényt.
Szintaxis
void __stdcall FunctionTailcall (
[in] FunctionID funcID
);
Paraméterek
funcID [in] Annak a jelenleg végrehajtó függvénynek az azonosítója, amely a tail hívás indítására készül.
Megjegyzések
A tail hívás célfüggvénye az aktuális veremkeretet használja, és közvetlenül a farokhívást kezdeményező függvény hívójának tér vissza. Ez azt jelenti, hogy a FüggvényLeave visszahívás nem lesz kiadva olyan függvényhez, amely a tail hívás célja.
A FunctionTailcall 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 FunctionTailcall 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 FunctionTailcall tér.
Emellett a FunctionTailcall függvény nem hívhat meg 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: 1.1, 1.0