Partager via


Chargement du Common Language Runtime dans un processus

Mise à jour : novembre 2007

Avant de pouvoir exécuter un code managé, l'hôte doit charger et initialiser le Common Language Runtime. Tous les hôtes commencent par un stub non managé, car le runtime ne s'exécute pas encore dans le processus. Le .NET Framework propose un ensemble d'interfaces API non managées appelé interfaces API d'hébergement que l'hôte peut utiliser pour lancer le runtime. Pour plus d'informations, consultez Interfaces d'hébergement.

Pour charger le runtime dans un processus, un hôte appelle la fonction CorBindToRuntimeEx, fonction. Le prototype de CorBindToRuntimeEx, fonction se trouve dans Mscoree.h dans le répertoire Include du Kit de développement logiciel (SDK) Windows. L'hôte utilise CorBindToRuntimeEx, fonction pour contrôler la version du runtime à charger et le comportement des fonctions de base, telles que le garbage collection et le chargement de l'assembly. Un hôte peut affecter les valeurs répertoriées dans le tableau suivant.

Valeur

Description

Garbage collection simultané

Spécifie si le garbage collection s'effectue sur les threads d'arrière-plan ou sur les threads qui exécutent le code utilisateur.

Optimisation du chargeur

Contrôle si les assemblys sont chargés comme étant indépendants du domaine. Le chargement des assemblys de manière indépendante du domaine permet aux structures de données du code assembleur traité par le compilateur JIT et du runtime en lecture seule d'être partagées par tous les domaines d'application d'un processus.

Pour plus d'informations, consultez Domaines d'application et assemblys.

Serveur ou station de travail

Spécifie le chargement de la build de la station de travail ("wks") ou de la build du serveur ("svr") du runtime.

Version

Spécifie la version du runtime à charger dans le processus. Pour charger la version 1.0, utilisez "v1.0.3705". Pour charger la version 1,1, utilisez "v1.1.4322". Pour charger la version 2.0, utilisez "v2.0.50727". Un processus ne peut charger qu'une seule version du runtime.

Pour plus d'informations, consultez Exécution côte à côte.

CorBindToRuntimeEx, fonction utilise trois paramètres supplémentaires : le CLSID de l'objet qui contient l'interface ICLRRuntimeHost (CLSID_CLRRuntimeHost), l'IID de l'interface (IID_ICLRRuntimeHost) et un paramètre [out] qui reçoit le pointeur ICLRRuntimeHost.

Remarque :

Pour les versions 1.0 et 1.1, utilisez CLSID_CorRuntimeHost et IID_ICorRuntimeHost pour obtenir l'interface ICorRuntimeHost.

Utilisez ICLRRuntimeHost pour lancer le runtime, exécuter le code managé, obtenir un pointeur vers l'interface ICLRControl permettant d'accéder aux gestionnaires et implémentée par le Common Language Runtime, et enregistrer un objet de contrôle hôte implémentant l'interface IHostControl. Le Common Language Runtime appelle IHostControl pour déterminer les gestionnaires implémentés par l'hôte.

Voir aussi

Concepts

Transition vers un code d'hébergement managé

Référence

AppDomainSetup

CorBindToRuntimeEx, fonction

ICLRRuntimeHost

ICLRControl

Autres ressources

Hébergement du Common Language Runtime