Methode IHostAssemblyStore::P rovideModule
Hiermee wordt een module in een assembly of een gekoppeld (maar niet ingesloten) bronbestand opgelost.
Syntaxis
HRESULT ProvideModule (
[in] ModuleBindInfo *pBindInfo,
[out] DWORD *pdwModuleId,
[out] IStream **ppStmModuleImage,
[out] IStream **ppStmPDB
);
Parameters
pBindInfo
[in] Een verwijzing naar een ModuleBindInfo-exemplaar waarin de naam van de aangevraagde module AppDomain, assembly en module wordt beschreven.
pdwModuleId
[uit] Een verwijzing naar een unieke id voor de IStream
die de geladen module bevat.
ppStmModuleImage
[uit] Een verwijzing naar het adres van een IStream
object, dat de draagbare uitvoerbare afbeelding (PE) bevat die moet worden geladen, of null als de module niet kan worden gevonden.
ppStmPDB
[uit] Een aanwijzer naar het adres van een IStream
object, dat de PDB-informatie (program debug) voor de aangevraagde module bevat, of null als het PDB-bestand niet kan worden gevonden.
Retourwaarde
HRESULT | Beschrijving |
---|---|
S_OK | ProvideModule is geretourneerd. |
HOST_E_CLRNOTAVAILABLE | De Common Language Runtime (CLR) is niet geladen in een proces of de CLR bevindt zich in een status waarin beheerde code niet kan worden uitgevoerd of de aanroep kan worden verwerkt. |
HOST_E_TIMEOUT | Er is een time-out opgetreden voor het gesprek. |
HOST_E_NOT_OWNER | De beller is niet de eigenaar van het vergrendelingsslot. |
HOST_E_ABANDONED | Een gebeurtenis is geannuleerd terwijl er een geblokkeerde thread of vezel op wachtte. |
E_FAIL | Er is een onbekende catastrofale fout opgetreden. Wanneer een methode E_FAIL retourneert, is de CLR niet meer bruikbaar binnen het proces. Volgende aanroepen naar hostingmethoden retourneren HOST_E_CLRNOTAVAILABLE. |
COR_E_FILENOTFOUND (0x80070002) | De aangevraagde assembly of gekoppelde resource kan niet worden gevonden. |
E_NOT_SUFFICIENT_BUFFER | pdwModuleId is niet groot genoeg om de id te bevatten die de host wil retourneren. |
Opmerkingen
De id-waarde die wordt geretourneerd voor pdwModuleId
wordt opgegeven door de host. Id's moeten uniek zijn binnen de levensduur van een proces. De CLR gebruikt deze waarde als de unieke id voor de gekoppelde stream. Elke waarde wordt gecontroleerd op basis van de waarden die pAssemblyId
worden geretourneerd door aanroepen naar ProvideAssembly en op basis van de waarden die pdwModuleId
worden geretourneerd door andere aanroepen naar ProvideModule
. Als de host dezelfde id-waarde retourneert voor een andere IStream
, controleert de CLR of de inhoud van die stream al is toegewezen. Als dat het zo is, laadt de CLR de bestaande kopie van de installatiekopie in plaats van een nieuwe toe te voegen. Daarom mag de id ook niet overlappen met de assembly-id's die worden geretourneerd door ProvideAssembly
.
Vereisten
Platforms: Zie Systeemvereisten.
Header: MSCorEE.h
Bibliotheek: Opgenomen als een resource in MSCorEE.dll
.NET Framework versies: beschikbaar sinds 2.0