Метод IHostAssemblyStore::ProvideModule
Обновлен: Ноябрь 2007
Разрешает модуль в сборке или связанный (но не внедренный) файл ресурса.
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 не загружена в процесс или находится в состоянии, в котором ей не удается выполнить управляемый код или успешно обработать вызов. |
HOST_E_TIMEOUT |
Время ожидания вызова истекло. |
HOST_E_NOT_OWNER |
Вызывающий объект не владеет блокировкой. |
HOST_E_ABANDONED |
Событие, которого ожидал заблокированный поток или нить, было отменено. |
E_FAIL |
Произошел неизвестный разрушительный сбой. Если метод вернет значение E_FAIL, среду CLR более нельзя будет использовать в данном процессе. Последующие вызовы методов размещения возвращают значение HOST_E_CLRNOTAVAILABLE. |
ERROR_FILE_NOT_FOUND |
Запрошенная сборка или связанный ресурс не найдены. |
ERROR_INSUFFICIENT_BUFFER |
Размер pdwModuleId недостаточно велик для хранения идентификатора, который необходимо вернуть узлу. |
Заметки
Значение идентификации, возвращенное для параметра pdwModuleId, задается основным приложением. На протяжении жизненного цикла процесса идентификаторы должны оставаться уникальными. Среда CLR использует данное значение в качестве уникального идентификатора для связанной строки. Осуществляет проверку каждого значения по значениям для pAssemblyId, возвращенных вызовами на ProvideAssembly и по значениям для pdwModuleId, возвращенных другими вызовами на ProvideModule. Если узел возвращает то же значение идентификатора для другого IStream, среда CLR пытается определить, было ли уже сопоставлено содержание данного потока. В этом случае среда CLR загружает имеющуюся копию образа вместо сопоставления нового образа. Поэтому идентификатор также не должен перекрывать идентификаторы сборки, возвращенные от ProvideAssembly.
Требования
Платформы: см. раздел Требования к системе для .NET Framework.
Заголовок: MSCorEE.idl
Библиотека: включена как ресурс в MSCorEE.dll
Версии платформы .NET Framework: 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0
См. также
Ссылки
Интерфейс ICLRAssemblyReferenceList