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. pHostContext
HostContext 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