Загрузка среды CLR в процесс
Перед выполнением управляемого кода основное приложение должно загрузить и инициализировать среду CLR. Все основные приложения начинают работу с неуправляемой заглушки, поскольку среда выполнения пока еще не запущена в процессе. Платформа .NET Framework предоставляет набор неуправляемых интерфейсов API, называемых размещающими интерфейсами API, которые основное приложение может использовать для запуска среды выполнения. Дополнительные сведения см. в разделе Интерфейсы размещения.
Примечание |
---|
Не рекомендуется использовать методы размещения, доступные в версиях платформы .NET Framework, выпущенных до .NET Framework 4.Рекомендуется использовать интерфейсы размещения, доступные в .NET Framework 4 и рассматриваемые в данном разделе. |
Основное приложение может загрузить среду CLR в процесс с помощью одной из следующих процедур:
Вызов функции CLRCreateInstance для получения интерфейса ICLRMetaHost или ICLRMetaHostPolicy. Функция CLRCreateInstance заменяет все функции CorBindTo*, перечисленные в разделе Глобальные статические функции платформ .NET Framework 1.1 и 2.0.
Вызов метода ICLRMetaHost::EnumerateInstalledRuntimes, ICLRMetaHost::GetRuntime или ICLRMetaHostPolicy::GetRequestedRuntime для получения допустимого указателя ICLRRuntimeInfo.
Вызов метода ICLRRuntimeInfo::GetInterface. Задание для параметра rclsid значения CLSID_CLRRuntimeHost, а для параметра riid — значения IID_ICLRRuntimeHost.
Прототипы всех этих интерфейсов содержатся в файле Metahost.h, который находится в каталоге Include пакета средств разработки (SDK) для Windows. Узлы могут использовать интерфейсы ICLRRuntimeInfo и ICLRRuntimeHost для управления загрузкой определенной версии среды выполнения и поведением простых функций, таких как сборка мусора и загрузка сборки.
Интерфейс ICLRRuntimeHost следует использовать для выполнения следующих действий:
Запуск среды выполнения вызовом метода ICLRRuntimeHost::Start.
Выполнение управляемого кода.
Получение указателя на интерфейс ICLRControl (который предоставляет доступ диспетчерам, реализуемым в среде CLR), а также регистрация объекта управления основным приложением, который реализует интерфейс IHostControl. Среда CLR вызывает интерфейс IHostControl для определения диспетчеров, реализованных основным приложением.
См. также
Ссылки
Основные понятия
Переход к управляемому коду размещения