Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
[Obsługiwane w programie .NET Framework 4.5.2 i nowszych wersjach]
Powiadamia profilera, że zestaw znajduje się na bardzo wczesnym etapie ładowania, gdy środowisko uruchomieniowe języka wspólnego wykonuje przewodnik zamknięcia odwołania do zestawu.
Syntax
HRESULT GetAssemblyReferences( [in, string] const WCHAR* wszAssemblyPath,
[in] ICorProfilerAssemblyReferenceProvider* pAsmRefProvider
);
Parameters
wszAssemblyPath [in] Ścieżka i nazwa zestawu, którego metadane zostaną zmodyfikowane.
pAsmRefProvider [in] Wskaźnik do adresu interfejsu ICorProfilerAssemblyReferenceProvider , który określa odwołania do zestawu do dodania.
Return Value
Wartości zwracane z tego wywołania zwrotnego są ignorowane.
Remarks
To wywołanie zwrotne jest kontrolowane przez ustawienie flagi maski zdarzeń COR_PRF_HIGH_ADD_ASSEMBLY_REFERENCES podczas wywoływania metody ICorProfilerCallback5::SetEventMask2 . Jeśli profiler rejestruje się dla metody wywołania zwrotnego ICorProfilerCallback6::GetAssemblyReferences , środowisko uruchomieniowe przekazuje ścieżkę i nazwę zestawu do załadowania wraz ze wskaźnikiem do obiektu interfejsu ICorProfilerAssemblyReferenceProvider dla tej metody. Profiler może następnie wywołać metodę ICorProfilerAssemblyReferenceProvider::AddAssemblyReference z obiektem COR_PRF_ASSEMBLY_REFERENCE_INFO dla każdego zestawu docelowego, do których planuje odwołanie z zestawu określonego w wywołaniu zwrotnym GetAssemblyReferences .
Użyj wywołania zwrotnego GetAssemblyReferences tylko wtedy, gdy profiler musi zmodyfikować metadane zestawu w celu dodania odwołań do zestawu. (Należy jednak pamiętać, że rzeczywista modyfikacja metadanych zestawu jest wykonywana w metodzie ICorProfilerCallback::ModuleLoadFinishedwywołania zwrotnego). Profiler powinien zaimplementować metodę GetAssemblyReferences wywołania zwrotnego, aby poinformować środowisko uruchomieniowe języka wspólnego (CLR), że odwołania do zestawu zostaną dodane po załadowaniu modułu. Pomaga to zapewnić, że decyzje dotyczące udostępniania zestawów podejmowane przez clR na tym wczesnym etapie pozostają prawidłowe, mimo że profiler planuje później zmodyfikować odwołania do zestawu metadanych. Może to uniknąć niektórych wystąpień, w których modyfikacje metadanych profilera powodują SECURITY_E_INCOMPATIBLE_SHARE błąd.
Profiler używa obiektu ICorProfilerAssemblyReferenceProvider dostarczonego przez tę metodę, aby dodać odwołania do zestawu do przewodnika zamknięcia odwołania do zestawu CLR. Obiekt ICorProfilerAssemblyReferenceProvider powinien być używany tylko z poziomu tego wywołania zwrotnego. Wywołania metody ICorProfilerAssemblyReferenceProvider::AddAssemblyReference z tego wywołania zwrotnego nie powodują modyfikacji metadanych, ale tylko w zmodyfikowanym przewodniku zamknięcia odwołania do zestawu. Profiler nadal będzie musiał użyć obiektu IMetaDataAssemblyEmit , aby jawnie dodać odwołania do zestawu z poziomu wywołania zwrotnego ICorProfilerCallback::ModuleLoadFinished dla zestawu odwołującego się, nawet jeśli implementuje GetAssemblyReferences wywołanie zwrotne.
Profiler powinien być przygotowany do odbierania zduplikowanych wywołań do tego wywołania zwrotnego dla tego samego zestawu i powinien odpowiadać identycznie dla każdego takiego zduplikowanego wywołania (wykonując ten sam zestaw wywołań ICorProfilerAssemblyReferenceProvider::AddAssemblyReference ).
Requirements
Platformy: zobacz Wymagania systemowe.
Nagłówek: CorProf.idl, CorProf.h
Library: CorGuids.lib
Wersje programu .NET Framework: Dostępne od wersji 4.5.2