Freigeben über


IHostAssemblyManager::GetNonHostStoreAssemblies-Methode

Ruft einen Schnittstellenzeiger auf eine ICLRAssemblyReferenceList ab. Diese repräsentiert die Liste der Assemblys, bei denen der Host erwartet, dass die Common Language Runtime (CLR) sie lädt.

Syntax

HRESULT GetNonHostStoreAssemblies (  
    [out] ICLRAssemblyReferenceList **ppReferenceList  
);  

Parameter

ppReferenceList
[out] Ein Zeiger auf die Adresse einer ICLRAssemblyReferenceList, die eine Liste von Verweisen auf Assemblys enthält, bei denen der Host erwartet, dass die CLR sie lädt.

Rückgabewert

HRESULT BESCHREIBUNG
S_OK GetNonHostStoreAssemblies wurde erfolgreich zurückgegeben.
HOST_E_CLRNOTAVAILABLE Die CLR wurde nicht in einen Prozess geladen oder 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.
E_OUTOFMEMORY Es stand nicht genügend Arbeitsspeicher zur Verfügung, um die Liste der Verweise für die angeforderte ICLRAssemblyReferenceList zu erstellen.

Bemerkungen

Die CLR löst Verweise anhand der folgenden Richtlinien auf:

  • Zunächst wird die von GetNonHostStoreAssemblies zurückgegebene Liste der Assemblyverweise konsultiert.

  • Wenn die Assembly in der Liste angezeigt wird, führt die CLR eine normale Bindung aus.

  • Wenn die Assembly nicht in der Liste angezeigt wird und der Host eine Implementierung von IHostAssemblyStore bereitgestellt hat, ruft die CLR IHostAssemblyStore::ProvideAssembly auf, damit der Host die Assembly für die Bindung bereitstellen kann.

  • Andernfalls kann die CLR keine Bindung an die Assembly durchführen.

Wenn der Host ppReferenceList auf NULL festlegt, prüft die CLR zunächst den globalen Assemblycache, ruft ProvideAssembly auf, und prüft dann die Anwendungsbasis, um einen Assemblyverweis aufzulösen.

Hinweis

Bei der Initialisierung ruft die CLR GetNonHostStoreAssemblies nur einmal auf. Die Methode wird nicht erneut aufgerufen.

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.

Siehe auch