Chargement du Common Language Runtime dans un processus

Avant de pouvoir exécuter un code managé, l'hôte doit charger et initialiser le Common Language Runtime (CLR). 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.

RemarqueRemarque

Les méthodes d'hébergement fournies par les versions du .NET Framework antérieures au .NET Framework version 4 sont déconseillées.Nous vous recommandons d'utiliser les interfaces introduites par le .NET Framework 4 et décrites dans cette rubrique.

Un hôte peut charger le CLR dans un processus à l'aide de l'une des procédures suivantes :

Le prototype de toutes ces interfaces se trouve dans le fichier Metahost.h, situé dans le répertoire Include du Kit de développement logiciel (SDK) Windows. Les hôtes peuvent utiliser à la fois les interfaces ICLRRuntimeInfo et ICLRRuntimeHost pour contrôler la version du runtime à charger, ainsi que le comportement de fonctions de base telles que le garbage collection et le chargement d'assembly.

Utilisez l'interface ICLRRuntimeHost pour effectuer les actions suivantes :

  • Démarrer le runtime en appelant la méthode ICLRRuntimeHost::Start.

  • Exécuter le code managé.

  • Obtenir un pointeur vers l'interface ICLRControl (qui permet d'accéder aux gestionnaires implémentés par le Common Language Runtime) et enregistrer un objet de contrôle hôte qui implémente l'interface IHostControl. Le Common Language Runtime appelle l'interface IHostControl pour déterminer quels gestionnaires l'hôte implémente.

Voir aussi

Référence

AppDomainSetup

CorBindToRuntimeEx, fonction

ICLRRuntimeHost, interface

ICLRControl, interface

Concepts

Transition vers un code d'hébergement managé

Vue d'ensemble de l'hébergement

Autres ressources

Hébergement (Référence des API non managées)