Метод 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