Megosztás a következőn keresztül:


IHostAssemblyStore::P rovideAssembly metódus

Olyan szerelvényre mutató hivatkozást kap, amelyet nem hivatkozik az ICLRAssemblyReferenceList , amelyet az IHostAssemblyManager::GetNonHostStoreAssemblies visszaad. A közös nyelvi futtatókörnyezet (CLR) minden olyan szerelvényt meghív ProvideAssembly , amely nem jelenik meg a listában.

Szintaxis

HRESULT ProvideAssembly (  
    [in]  AssemblyBindInfo *pBindInfo,  
    [out] UINT64           *pAssemblyId,  
    [out] UINT64           *pHostContext,  
    [out] IStream          **ppStmAssemblyImage,  
    [out] IStream          **ppStmPDB  
);  

Paraméterek

pBindInfo
[in] Mutató egy AssemblyBindInfo-példányra , amelyet a gazdagép bizonyos kötési jellemzők meghatározására használ, beleértve a verziószámozási szabályzat meglétét vagy hiányát, valamint azt, hogy melyik szerelvényhez kell kapcsolódni.

pAssemblyId
[kifelé] A kért szerelvény egyedi azonosítójára mutató mutató.IStream

pHostContext
[kifelé] A kért szerelvény bizonyítékainak meghatározására szolgáló gazdagépspecifikus adatokra mutató mutató platformhívás nélkül. pHostContextHostContext a felügyelt Assembly osztály tulajdonságának felel meg.

ppStmAssemblyImage
[kifelé] A betöltendő hordozható végrehajtható (PE) lemezképet tartalmazó vagy null értékű IStream , ha a szerelvény nem található.

ppStmPDB
[kifelé] A program hibakeresési (PDB) információinak címére IStream mutató mutató, vagy null értékű, ha a .pdb fájl nem található.

Visszatérési érték

HRESULT Description
S_OK ProvideAssembly sikeresen visszaadott.
HOST_E_CLRNOTAVAILABLE A CLR nincs betöltve egy folyamatba, vagy a CLR olyan állapotban van, amelyben nem tudja futtatni a felügyelt kódot, vagy nem tudja sikeresen feldolgozni a hívást.
HOST_E_TIMEOUT A hívás túllépte az időkorlátot.
HOST_E_NOT_OWNER A hívó nem rendelkezik a zárral.
HOST_E_ABANDONED Egy esemény megszakadt, miközben egy blokkolt szál vagy szál várakozott rá.
E_FAIL Ismeretlen katasztrofális hiba történt. Amikor egy metódus E_FAIL ad vissza, a CLR már nem használható a folyamaton belül. Az üzemeltetési módszerekre irányuló későbbi hívások HOST_E_CLRNOTAVAILABLE adnak vissza.
COR_E_FILENOTFOUND (0x80070002) A kért szerelvény nem található.
E_NOT_SUFFICIENT_BUFFER A által pAssemblyId megadott pufferméret nem elég nagy ahhoz, hogy a gazdagép által visszaadni kívánt azonosítót tartsa lenyomva.

Megjegyzések

A visszaadott identitásértéket pAssemblyId a gazdagép adja meg. Az azonosítóknak egyedinek kell lenniük egy folyamat élettartama alatt. A CLR ezt az értéket használja a stream egyedi azonosítójaként. Ellenőrzi a többi hívás által visszaadott értékeketpAssemblyId.ProvideAssembly Ha a gazdagép ugyanazt pAssemblyId az értéket adja vissza egy másikhoz IStream, a CLR ellenőrzi, hogy a stream tartalma már le van-e képezve. Ha igen, a futtatókörnyezet betölti a rendszerkép meglévő példányát egy új leképezés helyett.

Követelmények

Platformok: Lásd: Rendszerkövetelmények.

Fejléc: MSCorEE.h

Könyvtár: Erőforrásként szerepel a MSCorEE.dll

.NET-keretrendszer verziók: 2.0 óta érhető el

Lásd még