IHostAssemblyStore::ProvideModule – metoda
Řeší modul v rámci sestavení nebo propojeného (ale ne vloženého) souboru prostředků.
Syntaxe
HRESULT ProvideModule (
[in] ModuleBindInfo *pBindInfo,
[out] DWORD *pdwModuleId,
[out] IStream **ppStmModuleImage,
[out] IStream **ppStmPDB
);
Parametry
pBindInfo
[v] Ukazatel na instanci ModuleBindInfo , která popisuje požadovaný modul , AppDomainsestavení a název modulu.
pdwModuleId
[out] Ukazatel na jedinečný identifikátor obsahující IStream
načtený modul.
ppStmModuleImage
[out] Ukazatel na adresu objektu IStream
, který obsahuje image přenosného spustitelného souboru (PE), který se má načíst, nebo null, pokud modul nebyl nalezen.
ppStmPDB
[out] Ukazatel na adresu objektu IStream
, který obsahuje informace o ladění programu (PDB) pro požadovaný modul, nebo null, pokud soubor .pdb nelze najít.
Návratová hodnota
HRESULT | Description |
---|---|
S_OK | ProvideModule úspěšně vráceno. |
HOST_E_CLRNOTAVAILABLE | Modul CLR (Common Language Runtime) nebyl načten do procesu nebo je ve stavu, ve kterém nemůže spustit spravovaný kód nebo úspěšně zpracovat volání. |
HOST_E_TIMEOUT | Časový limit hovoru vypršel. |
HOST_E_NOT_OWNER | Volající zámek nevlastní. |
HOST_E_ABANDONED | Událost byla zrušena, když na ni čekalo blokované vlákno nebo vlákno. |
E_FAIL | Došlo k neznámému katastrofickému selhání. Když metoda vrátí E_FAIL, CLR už není v rámci procesu použitelný. Následná volání metod hostování vrátí HOST_E_CLRNOTAVAILABLE. |
COR_E_FILENOTFOUND (0x80070002) | Požadované sestavení nebo propojený prostředek nelze najít. |
E_NOT_SUFFICIENT_BUFFER | pdwModuleId není dostatečně velký, aby obsahoval identifikátor, který chce hostitel vrátit. |
Poznámky
Hodnota identity vrácená pro pdwModuleId
je určena hostitelem. Identifikátory musí být jedinečné po celou dobu životnosti procesu. ClR používá tuto hodnotu jako jedinečný identifikátor přidruženého datového proudu. Kontroluje každou hodnotu proti hodnotám vráceným pAssemblyId
voláním ProvideAssembly a proti hodnotám vráceným pdwModuleId
jinými voláními metody ProvideModule
. Pokud hostitel vrátí stejnou hodnotu identifikátoru pro jiný IStream
, CLR zkontroluje, jestli obsah tohoto datového proudu již byl namapován. Pokud ano, CLR místo mapování nové načte existující kopii image. Proto se identifikátor nesmí překrývat s identifikátory sestavení vrácenými z ProvideAssembly
.
Požadavky
Platformy: Viz Požadavky na systém.
Záhlaví: MSCorEE.h
Knihovny: Zahrnuto jako prostředek v MSCorEE.dll
Verze rozhraní .NET Framework: K dispozici od verze 2.0