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.