Nota
L'accés a aquesta pàgina requereix autorització. Podeu provar d'iniciar la sessió o de canviar els directoris.
L'accés a aquesta pàgina requereix autorització. Podeu provar de canviar els directoris.
Obtiene una referencia a un ensamblado al que no hace referencia ICLRAssemblyReferenceList que se devuelve de IHostAssemblyManager::GetNonHostStoreAssemblies. Common Language Runtime (CLR) llama ProvideAssembly a para cada ensamblado que no aparece en la lista.
Sintaxis
HRESULT ProvideAssembly (
[in] AssemblyBindInfo *pBindInfo,
[out] UINT64 *pAssemblyId,
[out] UINT64 *pHostContext,
[out] IStream **ppStmAssemblyImage,
[out] IStream **ppStmPDB
);
Parámetros
pBindInfo [in] Puntero a una instancia de AssemblyBindInfo que usa el host para determinar determinadas características de enlace, incluida la presencia o ausencia de cualquier directiva de control de versiones, y a qué ensamblado se va a enlazar.
pAssemblyId [out] Puntero a un identificador único para el ensamblado solicitado para este IStream.
pHostContext [out] Puntero a datos específicos del host que se usan para determinar la evidencia del ensamblado solicitado sin necesidad de una llamada de invocación de plataforma.
pHostContext corresponde a la HostContext propiedad de la clase administrada Assembly .
ppStmAssemblyImage [out] Puntero a la dirección de que IStream contiene la imagen portable ejecutable (PE) que se va a cargar o null si no se encuentra el ensamblado.
ppStmPDB [out] Puntero a la dirección de que IStream contiene la información de depuración de programa (PDB) o null si no se encontró el archivo .pdb.
Valor devuelto
| HRESULT | Descripción |
|---|---|
| S_OK |
ProvideAssembly se devolvió correctamente. |
| HOST_E_CLRNOTAVAILABLE | CLR no se ha cargado en un proceso o CLR está en un estado en el que no puede ejecutar código administrado ni procesar la llamada correctamente. |
| HOST_E_TIMEOUT | Se agota el tiempo de espera de la llamada. |
| HOST_E_NOT_OWNER | El autor de la llamada no posee el bloqueo. |
| HOST_E_ABANDONED | Se canceló un evento mientras un subproceso bloqueado o fibra estaba esperando. |
| E_FAIL | Se produjo un error catastrófico desconocido. Cuando un método devuelve E_FAIL, CLR ya no se puede usar dentro del proceso. Las llamadas posteriores a los métodos de hospedaje devuelven HOST_E_CLRNOTAVAILABLE. |
| COR_E_FILENOTFOUND (0x80070002) | No se pudo encontrar el ensamblado solicitado. |
| E_NOT_SUFFICIENT_BUFFER | El tamaño del búfer especificado por pAssemblyId no es lo suficientemente grande como para contener el identificador que el host quiere devolver. |
Observaciones
El host especifica el valor de identidad devuelto para pAssemblyId . Los identificadores deben ser únicos dentro de la duración de un proceso. CLR usa este valor como identificador único para la secuencia. Comprueba cada valor con los valores devueltos pAssemblyId por otras llamadas a ProvideAssembly. Si el host devuelve el mismo pAssemblyId valor para otro IStream, CLR comprueba si el contenido de esa secuencia ya se ha asignado. Si es así, el tiempo de ejecución carga la copia existente de la imagen en lugar de asignar una nueva.
Requisitos
Plataformas: Consulte Requisitos del sistema.
Encabezado: MSCorEE.h
Biblioteca: Incluido como recurso en MSCorEE.dll
Versiones de .NET Framework: Disponible desde la versión 2.0