IHostAssemblyStore::ProvideModule-Methode
Löst ein Modul in einer Assembly oder einer verknüpften (jedoch nicht eingebetteten) Ressourcendatei auf.
HRESULT ProvideModule (
[in] ModuleBindInfo *pBindInfo,
[out] DWORD *pdwModuleId,
[out] IStream **ppStmModuleImage,
[out] IStream **ppStmPDB
);
Parameter
pBindInfo
[in] Ein Zeiger auf eine ModuleBindInfo-Instanz, die die AppDomain, die Assembly und den Modulnamen des angeforderten Moduls beschreibt.pdwModuleId
[out] Ein Zeiger auf einen eindeutigen Bezeichner für IStream, der das geladene Modul enthält.ppStmModuleImage
[out] Ein Zeiger auf die Adresse eines IStream-Objekts, das das zu ladende PE-Abbild (Portable Executable) enthält, bzw. NULL, wenn das Modul nicht gefunden werden konnte.ppStmPDB
[out] Ein Zeiger auf die Adresse eines IStream-Objekts, das die Programmdebuginformationen (PDB) für das angeforderte Modul enthält, bzw. NULL, wenn die PDB-Datei nicht gefunden werden konnte.
Rückgabewert
HRESULT |
Beschreibungen |
---|---|
S_OK |
ProvideModule erfolgreich zurückgegeben. |
HOST_E_CLRNOTAVAILABLE |
Die Common Language Runtime (CLR) wurde nicht in einen Prozess geladen oder befindet sich in einem Zustand, in dem sie weder verwalteten Code ausführen noch den Aufruf erfolgreich verarbeiten kann. |
HOST_E_TIMEOUT |
Der Aufruf hat das Zeitlimit überschritten. |
HOST_E_NOT_OWNER |
Der Aufrufer ist nicht Besitzer der Sperre. |
HOST_E_ABANDONED |
Ein Ereignis wurde abgebrochen, während ein blockierter Thread oder eine blockierte Fiber auf das Ereignis gewartet hat. |
E_FAIL |
Ein unbekannter, schwerwiegender Fehler ist aufgetreten. Wenn eine Methode E_FAIL zurückgibt, kann die CLR innerhalb des Prozesses nicht mehr verwendet werden. Nachfolgende Aufrufe von Hostmethoden geben HOST_E_CLRNOTAVAILABLE zurück. |
ERROR_FILE_NOT_FOUND |
Die angeforderte Assembly oder verknüpfte Ressource konnte nicht geladen werden. |
ERROR_INSUFFICIENT_BUFFER |
pdwModuleId ist nicht groß genug für den Bezeichner, den der Host zurückgeben will. |
Hinweise
Der für pdwModuleId zurückgegebene Identitätswert wird durch den Host angegeben. Bezeichner müssen innerhalb der Lebensdauer eines Prozesses eindeutig sein. Die CLR verwendet diesen Wert als eindeutigen Bezeichner für den zugeordneten Stream. Sie vergleicht jeden Wert mit den Werten für pAssemblyId, die von Aufrufen von ProvideAssembly zurückgegeben wurden, sowie mit den Werten für pdwModuleId, die von anderen Aufrufen von ProvideModule zurückgegeben wurden. Wenn der Host denselben Bezeichner für einen anderen IStream zurückgibt, wird durch die CLR geprüft, ob der Inhalt dieses Streams bereits zugeordnet wurde. Ist dies der Fall, lädt die CLR die vorhandene Kopie des Abbilds statt ein neues zuzuordnen. Deshalb darf der Bezeichner sich nicht mit den von ProvideAssembly zurückgegebenen Assemblybezeichnern überschneiden.
Anforderungen
Plattformen: siehe Systemanforderungen für .NET Framework.
Header: MSCorEE.h
Bibliothek: als Ressource in MSCorEE.dll enthalten
.NET Framework-Versionen: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0
Siehe auch
Referenz
ICLRAssemblyReferenceList-Schnittstelle