Freigeben über


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

IHostAssemblyManager-Schnittstelle

IHostAssemblyStore-Schnittstelle