Aracılığıyla paylaş


FunctionLeave3WithInfo İşlevi

Bir işlevden denetimin döndürüldüğünü profil oluşturucuya bildirir ve yığın çerçevesini ve dönüş değerini almak için ICorProfilerInfo3::GetFunctionLeave3Info yöntemine geçirilebilen bir tanıtıcı sağlar.

Sözdizimi

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

Parametreler

functionIDOrClientID [in] Denetimin döndürüldiği 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

FunctionLeave3WithInfo Geri çağırma yöntemi, işlevler çağrıldığında profil oluşturucuyu bilgilendirir ve profil oluşturucunun dönüş değerini incelemek için ICorProfilerInfo3::GetFunctionLeave3Info yöntemini kullanmasına izin verir. Dönüş değeri bilgilerine erişmek için bayrağının COR_PRF_ENABLE_FUNCTION_RETVAL 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.

FunctionLeave3WithInfo işlevi 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 yazmaç 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ı FunctionLeave3WithInfo , çöp toplamayı geciktireceği için engellememelidir. Yığın çöp toplama dostu bir durumda olmayabileceği için uygulama çöp toplama denememelidir. Çöp toplama denenirse, çalışma zamanı dönene kadar FunctionLeave3WithInfo engeller.

İşlev yönetilen FunctionLeave3WithInfo kodu çağırmamalı veya herhangi bir şekilde yönetilen bellek ayırmaya neden olmamalıdır.

Gereksinimler

Platform: Bkz. Sistem Gereksinimleri.

Üstbilgi: CorProf.idl

Kitaplığı: CorGuids.lib

.NET Framework Sürümleri: 4'ten beri kullanılabilir

Ayrıca bkz.