ICorProfilerCallback6::GetAssemblyReferences Yöntemi
[.NET Framework 4.5.2 ve sonraki sürümlerde desteklenir]
Ortak dil çalışma zamanı derleme başvurusu kapatma adımını gerçekleştirdiğinde, profil oluşturucuya derlemenin çok erken yükleme aşamasında olduğunu bildirir.
Sözdizimi
HRESULT GetAssemblyReferences( [in, string] const WCHAR* wszAssemblyPath,
[in] ICorProfilerAssemblyReferenceProvider* pAsmRefProvider
);
Parametreler
wszAssemblyPath
[in] Meta verileri değiştirilecek derlemenin yolu ve adı.
pAsmRefProvider
[in] Eklenecek derleme başvurularını belirten ICorProfilerAssemblyReferenceProvider arabiriminin adresine yönelik bir işaretçi.
Dönüş Değeri
Bu geri çağırmadan döndürülen değerler yoksayılır.
Açıklamalar
Bu geri çağırma, ICorProfilerCallback5::SetEventMask2 yöntemi çağrılırken COR_PRF_HIGH_ADD_ASSEMBLY_REFERENCES olay maskesi bayrağı ayarlanarak denetlenir. Profil oluşturucu ICorProfilerCallback6::GetAssemblyReferences geri çağırma yöntemine kaydolursa, çalışma zamanı yüklenecek derlemenin yolunu ve adını ve bu yönteme ICorProfilerAssemblyReferenceProvider arabirim nesnesinin işaretçisini geçirir. Profil oluşturucu daha sonra ICorProfilerAssemblyReferenceProvider::AddAssemblyReference yöntemini, geri çağırmada GetAssemblyReferences
belirtilen derlemeden başvurmayı planladığı her hedef derleme için bir COR_PRF_ASSEMBLY_REFERENCE_INFO
nesneyle çağırabilir.
Geri çağırmayı GetAssemblyReferences
yalnızca profil oluşturucunun derleme başvuruları eklemek için bir derlemenin meta verilerini değiştirmesi gerekiyorsa kullanın. (Ancak, derlemenin meta verilerinin gerçek değişikliğinin ICorProfilerCallback::ModuleLoadFinishedgeri çağırma yönteminde yapıldığını unutmayın.) Profil oluşturucu, ortak dil çalışma zamanına (CLR) modül yüklendiğinde derleme başvurularının ekleneceğini bildirmek için geri çağırma yöntemini uygulamalıdır GetAssemblyReferences
. Bu, profil oluşturucu meta veri derleme başvurularını daha sonra değiştirmeyi planlasa da, bu erken aşamada CLR tarafından alınan derleme paylaşımı kararlarının geçerli kalmasını sağlamaya yardımcı olur. Bu, profil oluşturucu meta veri değişikliklerinin hataya SECURITY_E_INCOMPATIBLE_SHARE
neden olduğu bazı örnekleri önleyebilir.
Profil oluşturucu, CLR derleme başvurusu kapatma yürütücüsne derleme başvuruları eklemek için bu yöntem tarafından sağlanan ICorProfilerAssemblyReferenceProvider nesnesini kullanır. ICorProfilerAssemblyReferenceProvider nesnesi yalnızca bu geri çağırmanın içinden kullanılmalıdır. Bu geri çağırmadan ICorProfilerAssemblyReferenceProvider::AddAssemblyReference yöntemine yapılan çağrılar değiştirilmiş meta veriyle sonuçlanmıyor, yalnızca değiştirilmiş derleme başvurusu kapatma adımlarında sonuçlanır. Profil oluşturucunun, geri çağırmayı uygulasa GetAssemblyReferences
bile başvuran derleme için ICorProfilerCallback::ModuleLoadFinished geri çağırmasının içinden derleme başvurularını açıkça eklemek için yine de bir IMetaDataAssemblyEmit nesnesi kullanması gerekir.
Profil oluşturucu aynı derleme için bu geri çağırmaya yinelenen çağrılar almaya hazır olmalı ve bu tür yinelenen her çağrı için aynı şekilde yanıt vermelidir (aynı ICorProfilerAssemblyReferenceProvider::AddAssemblyReference çağrıları kümesini yaparak).
Gereksinimler
Platform: Bkz. Sistem Gereksinimleri.
Üstbilgi: CorProf.idl, CorProf.h
Kitaplığı: CorGuids.lib
.NET Framework Sürümleri: 4.5.2 sürümünden itibaren kullanılabilir