Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Denetimin bir işleve geçirildiğini profil oluşturucuya bildirir ve yığın çerçevesi ve işlev bağımsız değişkenleri hakkında bilgi sağlar. Bu işlev FunctionEnter işlevinin yerini alır.
Sözdizimi
void __stdcall FunctionEnter2 (
[in] FunctionID funcId,
[in] UINT_PTR clientData,
[in] COR_PRF_FRAME_INFO func,
[in] COR_PRF_FUNCTION_ARGUMENT_INFO *argumentInfo
);
Parametreler
funcId
[in] Denetimin geçirildiği işlevin tanımlayıcısı.
clientData
[in] Profil oluşturucunun daha önce FunctionIDMapper işlevini kullanarak belirttiği yeniden eşlenen işlev tanımlayıcısı.
func
[in] COR_PRF_FRAME_INFO
Yığın çerçevesi hakkındaki bilgilere işaret eden bir değer.
Profil oluşturucu bunu ICorProfilerInfo2::GetFunctionInfo2 yöntemindeki yürütme altyapısına geri geçirilebilen opak bir tanıtıcı olarak ele almalıdır.
argumentInfo
[in] İşlevin bağımsız değişkenlerinin bellekteki konumlarını belirten bir COR_PRF_FUNCTION_ARGUMENT_INFO yapısının işaretçisi.
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.
Açıklamalar
ve argumentInfo
parametrelerinin func
değerleri işlev döndürdüğünde FunctionEnter2
geçerli değildir çünkü değerler değişebilir veya yok edilebilir.
FunctionEnter2
işlevi bir geri çağırmadır; bunu uygulamanız gerekir. Uygulamanın (naked
) depolama sınıfı özniteliğini __declspec
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ı FunctionEnter2
, çöp toplamayı geciktireceği için engellememelidir. Yığın çöp toplama dostu bir durumda olmayabileceği için uygulama çöp toplamayı denememelidir. Çöp toplama denenirse, çalışma zamanı dönene kadar FunctionEnter2
engeller.
Ayrıca, işlevin FunctionEnter2
yönetilen koda çağrı yapmaması veya herhangi bir şekilde yönetilen bellek ayırmaya neden olması gerekir.
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