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


Метод IHostAssemblyStore::ProvideModule

Разрешает модуль в сборке или связанном (но не внедренном) файле ресурсов.

Синтаксис

HRESULT ProvideModule (  
    [in]  ModuleBindInfo *pBindInfo,  
    [out] DWORD          *pdwModuleId,  
    [out] IStream        **ppStmModuleImage,  
    [out] IStream        **ppStmPDB  
);  

Параметры

pBindInfo
[in] Указатель на экземпляр ModuleBindInfo , описывающий, сборку и имя модуля запрошенного модуля AppDomain.

pdwModuleId
[out] Указатель на уникальный идентификатор объекта , IStream содержащего загруженный модуль.

ppStmModuleImage
[out] Указатель на адрес объекта , который содержит загружаемый образ переносимого IStream исполняемого файла (PE), или значение NULL, если не удалось найти модуль.

ppStmPDB
[out] Указатель на адрес IStream объекта , который содержит сведения об отладке программы (PDB) для запрошенного модуля, или значение NULL, если не удалось найти PDB-файл.

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

HRESULT Описание:
S_OK ProvideModule возвращается успешно.
HOST_E_CLRNOTAVAILABLE Среда CLR не была загружена в процесс или среда CLR находится в состоянии, в котором она не может выполнить управляемый код или обработать вызов.
HOST_E_TIMEOUT Истекло время ожидания звонка.
HOST_E_NOT_OWNER Вызывающий объект не является владельцем блокировки.
HOST_E_ABANDONED Событие было отменено во время ожидания заблокированного потока или волокна.
E_FAIL Произошла неизвестная катастрофическая ошибка. Когда метод возвращает E_FAIL, среда CLR больше не поддерживается в процессе. Последующие вызовы методов размещения возвращают HOST_E_CLRNOTAVAILABLE.
COR_E_FILENOTFOUND (0x80070002) Не удалось найти запрошенную сборку или связанный ресурс.
E_NOT_SUFFICIENT_BUFFER pdwModuleId не достаточно большой, чтобы содержать идентификатор, который узел хочет вернуть.

Комментарии

Значение идентификатора, возвращаемое для pdwModuleId , задается узлом. Идентификаторы должны быть уникальными в течение времени существования процесса. Среда CLR использует это значение в качестве уникального идентификатора связанного потока. Он проверяет каждое значение на соответствие значениям, pAssemblyId возвращаемым вызовами ProvideAssembly, и значениям , pdwModuleId возвращенным другими вызовами .ProvideModule Если узел возвращает то же значение идентификатора для другого IStream, среда CLR проверяет, сопоставлено ли содержимое этого потока. Если это так, среда CLR загружает существующую копию образа, а не сопоставляет новую. Поэтому идентификатор также не должен перекрываться с идентификаторами сборки, возвращаемыми из ProvideAssembly.

Требования

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

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

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

версии платформа .NET Framework: доступно с версии 2.0

См. также раздел