Поделиться через


Метод IHostAssemblyManager::GetNonHostStoreAssemblies

Получает указатель интерфейса на экземпляр ICLRAssemblyReferenceList, представляющий список сборок, которые, по прогнозу основного приложения, должна загрузить среда CLR.

HRESULT GetNonHostStoreAssemblies (
    [out] ICLRAssemblyReferenceList **ppReferenceList
);

Параметры

  • ppReferenceList
    [out] Указатель на адрес экземпляра ICLRAssemblyReferenceList, содержащего список ссылок на сборки, которые, по прогнозу основного приложения, должна загрузить среда CLR.

Возвращаемое значение

HRESULT

Описание

S_OK

Метод GetNonHostStoreAssemblies успешно возвратил значение.

HOST_E_CLRNOTAVAILABLE

Среда CLR не загружена в процесс или находится в состоянии, в котором ей не удается выполнить управляемый код или успешно обработать вызов.

HOST_E_TIMEOUT

Время ожидания вызова истекло.

HOST_E_NOT_OWNER

Вызывающий объект не владеет блокировкой.

HOST_E_ABANDONED

Событие, которого ожидал заблокированный поток или нить, было отменено.

E_FAIL

Произошел неизвестный разрушительный сбой. Если метод вернет значение E_FAIL, среду CLR более нельзя будет использовать в данном процессе. Последующие вызовы методов размещения возвращают значение HOST_E_CLRNOTAVAILABLE.

E_OUTOFMEMORY

Недостаточно памяти для создания списка ссылок для запрошенного экземпляра ICLRAssemblyReferenceList.

Заметки

Среда CLR разрешает ссылки, используя следующий набор правил.

  • Сначала она проверяет список ссылок на сборки, возвращенный методом GetNonHostStoreAssemblies.

  • Если сборка присутствует в списке, сред CLR привязывает ее обычным образом.

  • Если сборка в списке отсутствует, а основное приложение предоставило реализацию интерфейса IHostAssemblyStore, среда CLR вызывает метод IHostAssemblyStore::ProvideAssembly, позволяющий основному приложению предоставить сборку, к которой нужно выполнить привязку.

  • В противном случае среде CLR не удается выполнить привязку сборки.

Если основное приложение присвоило параметру ppReferenceList значение NULL, среда CLR сначала проверяет глобальный кэш сборок и вызывает метод ProvideAssembly, а затем проверяет базу приложения для разрешения ссылки на сборку.

ПримечаниеПримечание

При инициализации среда CLR вызывает метод GetNonHostStoreAssemblies только один раз.Повторно этот метод не вызывается.

Требования

Платформы: см. раздел Требования к системе для .NET Framework.

Заголовок: MSCorEE.h

Библиотека: включена как ресурс в MSCorEE.dll

Версии платформы .NET Framework: 4, 3.5 с пакетом обновления 1 (SP1), 3.5, 3.0 с пакетом обновления 1 (SP1), 3.0, 2.0 с пакетом обновления 1 (SP1), 2.0

См. также

Ссылки

Интерфейс ICLRAssemblyReferenceList

Интерфейс IHostAssemblyManager

Интерфейс IHostAssemblyStore