Metodo IHostAssemblyManager::GetNonHostStoreAssemblies
Ottiene un puntatore di interfaccia a un oggetto ICLRAssemblyReferenceList che rappresenta l'elenco di assembly che l'host prevede il caricamento di Common Language Runtime (CLR).
Sintassi
HRESULT GetNonHostStoreAssemblies (
[out] ICLRAssemblyReferenceList **ppReferenceList
);
Parametri
ppReferenceList
[out] Puntatore all'indirizzo di un ICLRAssemblyReferenceList
oggetto che contiene un elenco di riferimenti agli assembly che l'host prevede il caricamento di CLR.
Valore restituito
HRESULT | Descrizione |
---|---|
S_OK | GetNonHostStoreAssemblies restituito correttamente. |
HOST_E_CLRNOTAVAILABLE | CLR non è stato caricato in un processo oppure CLR si trova in uno stato in cui non può eseguire codice gestito o elaborare correttamente la chiamata. |
HOST_E_TIMEOUT | Timeout della chiamata. |
HOST_E_NOT_OWNER | Il chiamante non possiede il blocco. |
HOST_E_ABANDONED | Un evento è stato annullato durante l'attesa di un thread o di una fibra bloccata. |
E_FAIL | Si è verificato un errore irreversibile sconosciuto. Quando un metodo restituisce E_FAIL, CLR non è più utilizzabile all'interno del processo. Le chiamate successive ai metodi di hosting restituiscono HOST_E_CLRNOTAVAILABLE. |
E_OUTOFMEMORY | Memoria insufficiente per creare l'elenco di riferimenti per l'oggetto richiesto ICLRAssemblyReferenceList . |
Commenti
CLR risolve i riferimenti usando il set di linee guida seguente:
In primo luogo, consulta l'elenco di riferimenti ad assembly restituiti da
GetNonHostStoreAssemblies
.Se l'assembly viene visualizzato nell'elenco, CLR viene associato normalmente.
Se l'assembly non viene visualizzato nell'elenco e l'host ha fornito un'implementazione di IHostAssemblyStore, CLR chiama IHostAssemblyStore::P rovideAssembly per consentire all'host di fornire l'assembly a cui eseguire l'associazione.
In caso contrario, CLR non riesce a eseguire l'associazione all'assembly.
Se l'host imposta su ppReferenceList
Null, CLR esegue prima il probe della Global Assembly Cache, chiama ProvideAssembly
e quindi esegue il probe della base dell'applicazione per risolvere un riferimento all'assembly.
Nota
Al momento dell'inizializzazione, CLR chiama GetNonHostStoreAssemblies
una sola volta. Il metodo non viene chiamato di nuovo.
Requisiti
Piattaforme: vedere Requisiti di sistema di .NET Framework.
Intestazione: MSCorEE.h
Libreria: Incluso come risorsa in MSCorEE.dll
Versioni di .NET Framework: Disponibile dalla versione 2.0