Cargar Common Language Runtime en un proceso
Antes de poder ejecutar código administrado, el host debe cargar e inicializar Common Language Runtime (CLR). Todos los hosts comienzan con un código auxiliar no administrado porque Common Language Runtime aún no se está ejecutando en el proceso. .NET Framework dispone de un conjunto de API no administradas denominadas API de hospedaje que el host puede utilizar para iniciar el motor en tiempo de ejecución. Para obtener más información, vea Interfaces de hospedaje.
Nota
Los métodos de hospedaje proporcionados por versiones de .NET Framework anteriores a .NET Framework 4 están desusados.Se recomienda emplear las interfaces presentadas por .NET Framework 4 y que se describen en este tema.
Un host puede cargar el CLR en un proceso mediante uno de los procedimientos siguientes:
Llamar a la función CLRCreateInstance para obtener una interfaz ICLRMetaHost o ICLRMetaHostPolicy. La función CLRCreateInstance reemplaza todas las funciones CorBindTo* enumeradas en la sección Funciones de hospedaje de CLR en desuso.
Llamar al método ICLRMetaHost::EnumerateInstalledRuntimes, ICLRMetaHost::GetRuntime o ICLRMetaHostPolicy::GetRequestedRuntime para obtener un puntero válido a ICLRRuntimeInfo.
Llamar al método ICLRRuntimeInfo::GetInterface. Especifique CLSID_CLRRuntimeHost para el parámetro rclsid e IID_ICLRRuntimeHost para el parámetro riid.
El prototipo para todas estas interfaces está en el archivo Metahost.h, que se encuentra en el directorio Include del Kit de desarrollo de software (SDK) de Windows. Los hosts pueden usar las interfaces ICLRRuntimeInfo e ICLRRuntimeHost para controlar qué versión del runtime hay que cargar y controlar el comportamiento de las funciones básicas, como la recolección de elementos no utilizados y la carga de ensamblados.
Use la interfaz ICLRRuntimeHost para realizar las acciones siguientes:
Iniciar el runtime llamando al método ICLRRuntimeHost::Start.
Ejecutar código administrado.
Obtener un puntero a la interfaz ICLRControl (que brinda acceso a los administradores implementados por Common Language Runtime) y registrar un objeto de control de host que implementa la interfaz IHostControl. Common Language Runtime llama a la interfaz IHostControl para determinar qué administradores implementa el host.
Vea también
Referencia
Conceptos
Transición al código administrado del host