Aracılığıyla paylaş


ICorProfilerCallback2::RootReferences2 Yöntemi

Bir çöp toplama gerçekleştikten sonra profil oluşturucuya kök başvurular hakkında bilgi sağlar. Bu yöntem, ICorProfilerCallback::RootReferences yönteminin bir uzantısıdır .

Sözdizimi

HRESULT RootReferences2(  
    [in] ULONG  cRootRefs,  
    [in, size_is(cRootRefs)] ObjectID rootRefIds[],  
    [in, size_is(cRootRefs)] COR_PRF_GC_ROOT_KIND rootKinds[],  
    [in, size_is(cRootRefs)] COR_PRF_GC_ROOT_FLAGS rootFlags[],  
    [in, size_is(cRootRefs)] UINT_PTR rootIds[]);  

Parametreler

cRootRefs
[in] , , rootKindsrootFlagsve rootIds dizilerindeki rootRefIdsöğelerin sayısı.

rootRefIds
[in] Her biri bir statik nesneye veya yığındaki bir nesneye başvuran nesne kimlikleri dizisi. Dizideki öğeler, dizideki rootKindsrootRefIds karşılık gelen öğeleri sınıflandırmak için bilgi sağlar.

rootKinds
[in] Çöp toplama kökünün türünü gösteren COR_PRF_GC_ROOT_KIND değerleri dizisi.

rootFlags
[in] Çöp toplama kökünün özelliklerini açıklayan COR_PRF_GC_ROOT_FLAGS değerleri dizisi.

rootIds
[in] Parametrenin değerine bağlı olarak çöp toplama kökü hakkında ek bilgiler içeren bir tamsayıya işaret eden UINT_PTR değerleri dizisi rootKinds .

Kök türü bir yığınsa, kök kimliği değişkeni içeren işlev içindir. Bu kök kimlik 0 ise, işlev CLR'nin içinde yer alan adlandırılmamış bir işlevdir. Kök türü bir tanıtıcıysa, kök kimliği çöp toplama tutamacının kimliğidir. Diğer kök türleri için kimlik, opak bir değerdir ve yoksayılmalıdır.

Açıklamalar

rootRefIds, rootKinds, rootFlagsve rootIds dizileri paralel dizilerdir. Diğer bir ifadeyle, rootRefIds[i], rootKinds[i], rootFlags[i]ve rootIds[i] tümü aynı kökle ilgilenilir.

RootReferences2 Profil oluşturucuyu bilgilendirmek için hem hem de RootReferences çağrılır. Profil oluşturucular normalde bir yöntemi veya diğerini uygular, ancak her ikisini birden uygulamaz, çünkü geçirilen RootReferences2 bilgiler içinde geçirilenin RootReferencesüst kümesidir.

içindeki rootRefIds girişlerin sıfır olması mümkündür; bu, karşılık gelen kök başvurunun null olduğunu ve yönetilen yığındaki bir nesneye başvurmadığını gösterir.

tarafından RootReferences2 döndürülen nesne kimlikleri, geri çağırma sırasında geçerli değildir çünkü çöp toplama, nesneleri eski adreslerden yeni adreslere taşıma işleminin ortasında olabilir. Bu nedenle, profil oluşturucular bir RootReferences2 çağrı sırasında nesneleri incelemeye çalışmamalıdır. ICorProfilerCallback2::GarbageCollectionFinished çağrıldığında, tüm nesneler yeni konumlarına taşınır ve güvenli bir şekilde denetlenebilir.

Gereksinimler

Platform: Bkz. Sistem Gereksinimleri.

Üstbilgi: CorProf.idl, CorProf.h

Kitaplığı: CorGuids.lib

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

Ayrıca bkz.