Sdílet prostřednictvím


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

Viz také