Aracılığıyla paylaş


FunctionTailcall3WithInfo İşlevi

Şu anda yürütülen işlevin başka bir işleve kuyruk çağrısı yapmak üzere olduğunu profil oluşturucuya bildirir ve yığın çerçevesini almak için ICorProfilerInfo3::GetFunctionTailcall3Info yöntemine geçirilebilen bir tanıtıcı sağlar.

Sözdizimi

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

Parametreler

functionIDOrClientID [in] Kuyruk çağrısı yapmak üzere olan yürütülmekte olan işlevin tanımlayıcısı.

eltInfo [in] Belirli bir yığın çerçevesi hakkındaki bilgileri temsil eden opak bir tanıtıcı. Bu tanıtıcı yalnızca geçirildiği geri çağırma sırasında geçerlidir.

Açıklamalar

FunctionTailcall3WithInfo Geri çağırma yöntemi, işlevler çağrıldığında profil oluşturucuya bildirimde bulunur ve profil oluşturucunun yığın çerçevesini incelemek için ICorProfilerInfo3::GetFunctionTailcall3Info yöntemini kullanmasına izin verir. Yığın çerçevesi bilgilerine erişmek için bayrağının COR_PRF_ENABLE_FRAME_INFO ayarlanması gerekir. Profil oluşturucu, olay bayraklarını ayarlamak için ICorProfilerInfo::SetEventMask yöntemini kullanabilir ve ardından bu işlevi uygulamanızı kaydetmek için ICorProfilerInfo3::SetEnterLeaveFunctionHooks3WithInfo yöntemini kullanabilir.

FunctionTailcall3WithInfo İşlev bir geri çağırmadır; bunu uygulamanız gerekir. Uygulamanın depolama sınıfı özniteliğini __declspec(naked) kullanması gerekir.

Yürütme altyapısı bu işlevi çağırmadan önce hiçbir kayıt kaydetmez.

  • Girişte, kayan nokta birimindeki (FPU) olanlar da dahil olmak üzere kullandığınız tüm yazmaçları kaydetmeniz gerekir.

  • Çıkışta, çağıranı tarafından gönderilen tüm parametreleri çıkararak yığını geri yüklemeniz gerekir.

uygulaması FunctionTailcall3WithInfo , çöp toplamayı geciktireceğinden engellememelidir. Yığın çöp toplama dostu bir durumda olmadığından uygulama çöp toplama denememelidir. Bir çöp toplama denenirse, çalışma zamanı dönene kadar FunctionTailcall3WithInfo engeller.

Ayrıca FunctionTailcall3WithInfo işlevi yönetilen kodu çağırmamalıdır veya yönetilen bellek ayırmaya hiçbir şekilde neden olmamalıdır.

Gereksinimler

Platform: Bkz. Sistem Gereksinimleri.

Üstbilgi: CorProf.idl

Kitaplığı: CorGuids.lib

.NET Framework Sürümleri: 2.0 sürümünden itibaren kullanılabilir

Ayrıca bkz.