Aracılığıyla paylaş


FunctionEnter3WithInfo İşlevi

Denetimin bir işleve geçirildiğini profil oluşturucuya bildirir ve yığın çerçevesini ve işlev bağımsız değişkenlerini almak için ICorProfilerInfo3::GetFunctionEnter3Info yöntemine geçirilebilen bir tanıtıcı sağlar.

Sözdizimi

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

Parametreler

functionIDOrClientID [in] Denetimin geçirildiğ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

FunctionEnter3WithInfo Geri çağırma yöntemi, işlevler çağrıldığından profil oluşturucuyu bildirir ve profil oluşturucunun bağımsız değişken değerlerini incelemek için ICorProfilerInfo3::GetFunctionEnter3Info yöntemini kullanmasını sağlar. Bağımsız değişken bilgilerine erişmek için bayrağının COR_PRF_ENABLE_FUNCTION_ARGS 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.

FunctionEnter3WithInfo İş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ı FunctionEnter3WithInfo , çö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 FunctionEnter3WithInfo engeller.

İşlev, FunctionEnter3WithInfo yönetilen kodu çağırmamalı 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.