ICorProfilerCallback6::GetAssemblyReferences Method

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

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

Syntax

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

Parameters

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

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

Return Value

Návratové hodnoty z tohoto zpětného volání se ignorují.

Remarks

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

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

Profiler používá ICorProfilerAssemblyReferenceProvider objekt poskytovaný touto metodou přidat odkazy sestavení na CLR odkazy na odkaz na uzavření odkazu na sestavení. 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 změněná 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 sestavení z ICorProfilerCallback::ModuleLoadFinished zpětné volání pro odkazující sestavení, i když implementuje GetAssemblyReferences zpětné volání zpět.

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 identicky reagovat na každé takové duplicitní volání (provedením stejné sady ICorProfilerAssemblyReferenceProvider::AddAssemblyReference volání).

Requirements

Platformy: Viz požadavky na systém.

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

Library: CorGuids.lib

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

See also