IHostAssemblyManager::GetNonHostStoreAssemblies (Método)
Obtiene un puntero de interfaz a un elemento ICLRAssemblyReferenceList que representa la lista de ensamblados que el host espera que Common Language Runtime (CLR) cargue.
Sintaxis
HRESULT GetNonHostStoreAssemblies (
[out] ICLRAssemblyReferenceList **ppReferenceList
);
Parámetros
ppReferenceList
[out] Puntero a la dirección de un elemento ICLRAssemblyReferenceList
que contiene una lista de referencias a ensamblados que el host espera que CLR cargue.
Valor devuelto
HRESULT | Descripción |
---|---|
S_OK | GetNonHostStoreAssemblies se devolvió correctamente. |
HOST_E_CLRNOTAVAILABLE | Si se devuelve este valor, significa que Common Language Runtime (CLR) no se ha cargado en un proceso o se encuentra en un estado en el que no puede ejecutar código administrado ni procesar la llamada correctamente. |
HOST_E_TIMEOUT | Se agotó el tiempo de espera de la llamada. |
HOST_E_NOT_OWNER | El autor de la llamada no es el propietario del bloqueo. |
HOST_E_ABANDONED | Se canceló un evento mientras que una fibra o subproceso que estaba bloqueado lo estaba esperando. |
E_FAIL | Ocurrió un error grave desconocido. Si un método devuelve el valor E_FAIL, el CLR ya no se podrá usar en el proceso. Las llamadas que se hagan a los métodos de hospedaje posteriormente devolverán el valor HOST_E_CLRNOTAVAILABLE. |
E_OUTOFMEMORY | No hubo suficiente memoria disponible a fin de crear la lista de referencias para el elemento ICLRAssemblyReferenceList solicitado. |
Comentarios
CLR resuelve las referencias mediante el conjunto de instrucciones siguiente:
En primer lugar, consulta la lista de referencias de ensamblado que devuelve
GetNonHostStoreAssemblies
.Si el ensamblado aparece en la lista, CLR se enlaza a él con normalidad.
Si el ensamblado no aparece en la lista y el host ha proporcionado una implementación de IHostAssemblyStore, CLR llama a IHostAssemblyStore::ProvideAssembly para permitir que el host proporcione el ensamblado al que se va a enlazar.
De lo contrario, CLR no se puede enlazar al ensamblado.
Si el host establece ppReferenceList
en null, CLR sondea primero la caché global de ensamblados, llama a ProvideAssembly
y, después, sondea la base de la aplicación para resolver una referencia de ensamblado.
Nota
Después de la inicialización, CLR llama a GetNonHostStoreAssemblies
solo una vez. No se vuelve a llamar al método.
Requisitos
Plataformas: Vea Requisitos de sistema.
Encabezado: MSCorEE.h
Biblioteca: incluida como recurso en MSCorEE.dll
Versiones de .NET Framework: disponible a partir de la versión 2.0