ICorProfilerCallback6::GetAssemblyReferences – metoda

[Podporováno v rozhraní .NET Framework 4.5.2 a novějších verzích]

Upozorní profiler, že sestavení je ve velmi rané fázi načítání, když modul ClR (Common Language Runtime) provede postup uzavření odkazu na sestavení.

Syntaxe

HRESULT GetAssemblyReferences(        [in, string] const WCHAR* wszAssemblyPath,  
        [in] ICorProfilerAssemblyReferenceProvider* pAsmRefProvider  
);  

Parametry

wszAssemblyPath
[v] Cesta a název sestavení, jehož metadata budou změněna.

pAsmRefProvider
[v] Ukazatel na adresu ICorProfilerAssemblyReferenceProvider rozhraní, které určuje odkazy na sestavení přidat.

Návratová hodnota

Návratové hodnoty z tohoto zpětného volání jsou ignorovány.

Poznámky

Toto zpětné volání je řízeno nastavením COR_PRF_HIGH_ADD_ASSEMBLY_REFERENCES příznaku masky události při volání metody ICorProfilerCallback5::SetEventMask2 . Pokud profiler zaregistruje metodu zpětného volání ICorProfilerCallback6::GetAssemblyReferences , modul runtime předá cestu a název sestavení, které se má načíst, spolu s ukazatelem na objekt rozhraní ICorProfilerAssemblyReferenceProvider této metodě. Profiler pak může volat metodu ICorProfilerAssemblyReferenceProvider::AddAssemblyReference s objektem COR_PRF_ASSEMBLY_REFERENCE_INFO pro každé cílové sestavení, které plánuje odkazovat ze sestavení zadaného ve zpětném GetAssemblyReferences volání.

GetAssemblyReferences Zpětné volání použijte pouze v případě, že profiler musí upravit metadata sestavení, aby přidal odkazy na sestavení. (Všimněte si však, že skutečná úprava metadat sestavení se provádí v metodě zpětného volání ICorProfilerCallback::ModuleLoadFinished.) Profiler by měl implementovat metodu zpětného GetAssemblyReferences volání, která informuje modul CLR (Common Language Runtime), že po načtení modulu budou přidány odkazy na sestavení. To pomáhá zajistit, že rozhodnutí o sdílení sestavení přijatá modulem CLR během této rané fáze zůstanou platná, i když profiler plánuje později upravit odkazy na sestavení metadat. Tím se můžete vyhnout některým instancím, ve kterých úpravy metadat profileru způsobí SECURITY_E_INCOMPATIBLE_SHARE chybu.

Profiler používá ICorProfilerAssemblyReferenceProvider objekt poskytnutý touto metodou přidat odkazy na sestavení CLR odkaz na walker. Objekt ICorProfilerAssemblyReferenceProvider by měl být použit pouze z tohoto zpětného volání. Volání metody ICorProfilerAssemblyReferenceProvider::AddAssemblyReference z tohoto zpětného volání nemají za následek upravená metadata, ale pouze v upraveném kroku uzavření odkazu na sestavení. Profiler bude stále muset použít IMetaDataAssemblyEmit objekt explicitně přidat odkazy na sestavení z ICorProfilerCallback::ModuleLoadFinished zpětné volání pro odkazující sestavení, i když implementuje GetAssemblyReferences zpětné volání.

Profiler by měl být připraven přijímat duplicitní volání tohoto zpětného volání pro stejné sestavení a měl by odpovídat stejně pro každé takové duplicitní volání (tím, že vytvoří stejnou sadu volání ICorProfilerAssemblyReferenceProvider::AddAssemblyReference ).

Požadavky

Platformy: Viz Požadavky na systém.

Záhlaví: CorProf.idl, CorProf.h

Knihovny: CorGuids.lib

Verze rozhraní .NET Framework: K dispozici od verze 4.5.2

Viz také