IHostAssemblyStore::ProvideModule-Methode
Löst ein Modul innerhalb einer Assembly oder einer verknüpften (aber nicht eingebetteten) Ressourcendatei auf.
Syntax
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 den IStream
, der das geladene Modul enthält.
ppStmModuleImage
[out] Ein Zeiger auf die Adresse eines IStream
-Objekts, das das zu ladende portable ausführbare Image enthält, oder null, wenn das Modul nicht gefunden werden konnte.
ppStmPDB
[out] Ein Zeiger auf die Adresse eines IStream
-Objekts, das die PDB-Informationen (Program Debug) für das angeforderte Modul enthält, oder null, wenn die PDB-Datei nicht gefunden werden konnte.
Rückgabewert
HRESULT | BESCHREIBUNG |
---|---|
S_OK | ProvideModule wurde erfolgreich zurückgegeben. |
HOST_E_CLRNOTAVAILABLE | Die Common Language Runtime (CLR) wurde nicht in einen Prozess geladen, oder die CLR befindet sich in einem Zustand, in dem sie keinen verwalteten Code ausführen oder den Aufruf nicht erfolgreich verarbeiten kann. |
HOST_E_TIMEOUT | Timeout des Aufrufs. |
HOST_E_NOT_OWNER | Der Aufrufer besitzt die Sperre nicht. |
HOST_E_ABANDONED | Ein Ereignis wurde abgebrochen, während ein blockierter Thread oder eine blockierte Fiber darauf gewartet hat. |
E_FAIL | Es ist ein unbekannter katastrophaler Fehler aufgetreten. Wenn eine Methode E_FAIL zurückgibt, kann die CLR nicht mehr innerhalb des Prozesses verwendet werden. Nachfolgende Aufrufe von Hostingmethoden geben HOST_E_CLRNOTAVAILABLE zurück. |
COR_E_FILENOTFOUND (0x80070002) | Die angeforderte Assembly oder verknüpfte Ressource konnte nicht gefunden werden. |
E_NOT_SUFFICIENT_BUFFER | pdwModuleId ist nicht groß genug, um den Bezeichner zu enthalten, den der Host zurückgeben möchte. |
Bemerkungen
Der für pdwModuleId
zurückgegebene Identitätswert wird vom 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 überprüft jeden Wert anhand der Werte für pAssemblyId
, die von Aufrufen von ProvideAssembly zurückgegeben werden, und anhand der Werte für pdwModuleId
, die von anderen Aufrufen von ProvideModule
zurückgegeben werden. Wenn der Host denselben Bezeichnerwert für einen anderen IStream
zurückgibt, überprüft die CLR, ob der Inhalt dieses Streams bereits zugeordnet wurde. Wenn dies der Fall ist, lädt die CLR die vorhandene Kopie des Images, anstatt ein neues Image zuzuordnen. Daher darf der Bezeichner auch nicht mit den von ProvideAssembly
zurückgegebenen Assemblybezeichnern überlappen.
Anforderungen
Plattformen: Informationen finden Sie unter Systemanforderungen.
Header: MSCorEE.h
Bibliothek: Als Ressource in „MsCorEE.dll“ enthalten.
.NET Framework-Versionen: Seit 2.0 verfügbar.