Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
[Поддерживается в .NET Framework 4.5.2 и более поздних версиях]
Уведомляет профилировщика о том, что сборка находится на очень ранней стадии загрузки, когда среда CLR выполняет пошаговое закрытие ссылки на сборку.
Syntax
HRESULT GetAssemblyReferences( [in, string] const WCHAR* wszAssemblyPath,
[in] ICorProfilerAssemblyReferenceProvider* pAsmRefProvider
);
Parameters
wszAssemblyPath [in] Путь и имя сборки, метаданные которой будут изменены.
pAsmRefProvider [in] Указатель на адрес интерфейса ICorProfilerAssemblyReferenceProviderer , указывающий ссылки на сборку для добавления.
Return Value
Возвращаемые значения из этого обратного вызова игнорируются.
Remarks
Этот обратный вызов управляется путем установки флага маски событий COR_PRF_HIGH_ADD_ASSEMBLY_REFERENCES при вызове метода ICorProfilerCallback5::SetEventMask2 . Если профилировщик регистрирует метод обратного вызова ICorProfilerCallback6::GetAssemblyReferences , среда выполнения передает путь и имя сборки для загрузки, а также указатель на объект интерфейса ICorProfilerAssemblyReferenceProvider на этот метод. Затем профилировщик может вызвать метод ICorProfilerAssemblyReferenceProviderer::AddAssemblyReference с объектом для каждой целевой COR_PRF_ASSEMBLY_REFERENCE_INFO сборки, которую он планирует ссылаться из сборки, указанной в обратном вызове GetAssemblyReferences .
Используйте обратный GetAssemblyReferences вызов, только если профилировщик должен изменить метаданные сборки для добавления ссылок на сборку. (Но обратите внимание, что фактическое изменение метаданных сборки выполняется в методе обратного вызова ICorProfilerCallback::ModuleLoadFinished.) Профилировщик должен реализовать GetAssemblyReferences метод обратного вызова, чтобы сообщить среде CLR, что ссылки на сборки будут добавлены при загрузке модуля. Это помогает гарантировать, что решения о совместном использовании сборок, принятые средой CLR на этом раннем этапе, остаются действительными, хотя профилировщик планирует изменить ссылки на сборку метаданных позже. Это может избежать некоторых экземпляров, в которых изменения метаданных профилировщика вызывают ошибку SECURITY_E_INCOMPATIBLE_SHARE .
Профилировщик использует объект ICorProfilerAssemblyReferenceProviderer , предоставленный этим методом, чтобы добавить ссылки на сборки в пошаговое руководство по закрытию ссылок на сборку CLR. Объект ICorProfilerAssemblyReferenceProvider следует использовать только из этого обратного вызова. Вызовы метода ICorProfilerAssemblyReferenceProviderer::AddAssemblyReference из этого обратного вызова не приводят к измененным метаданным, но только в пошаговом руководстве по закрытию ссылок на сборку. Профилировщику по-прежнему придется использовать объект IMetaDataAssemblyEmit для явного добавления ссылок на сборку ICorProfilerCallback::ModuleLoadFinished обратного вызова для сборки ссылок, даже если она реализует обратный GetAssemblyReferences вызов.
Профилировщик должен быть готов к получению повторяющихся вызовов для этой же сборки и должен отвечать одинаково для каждого такого повторяющегося вызова (делая тот же набор вызовов ICorProfilerAssemblyReferenceProviderer::AddAssemblyReference ).
Requirements
Платформы: см. раздел Требования к системе.
Заголовок: CorProf.idl, CorProf.h
Library: CorGuids.lib
Версии .NET Framework: Доступно с версии 4.5.2