Wrapper appelable à l’exécution (rcw)

Définition - Que signifie Runtime Callable Wrapper (RCW)?

Un wrapper appelable à l'exécution (RCW) est un objet wrapper généré par CLR (Common Language Runtime) pour encapsuler un objet de modèle d'objet composant (COM) pour l'exposer en tant qu'assemblage .NET.

Un RCW agit comme interface principale pour un client .NET qui doit interagir avec un composant COM en rassemblant les appels entre eux. Il forme un wrapper de métadonnées qui expose les composants COM au CLR. Il aide les conteneurs ActiveX existants à héberger des contrôles .NET et aide les applications Windows Forms .NET à héberger des conteneurs ActiveX. RCW est également utile dans les systèmes d'entreprise qui ont été construits à l'aide de composants COM, permettant l'intégration de leur ancien code hérité avec des composants .NET nouvellement développés sans impact sur la productivité.

Definir Tech explique Runtime Callable Wrapper (RCW)

Un composant COM est un objet binaire réutilisable qui fournit ses services en publiant les interfaces via lesquelles la communication avec ses clients se produit. La définition des interfaces ou contrats binaires du composant COM est spécifiée dans la bibliothèque de types des interfaces. Contrairement à COM, la communication entre les objets .NET est basée sur des objets plutôt que sur une interface. RCW agit comme un pont entre les composants COM et les objets .NET pour acheminer les opérations et assurer la médiation entre les deux par marshaling.

Un RCW gère la durée de vie de son objet COM encapsulé. Lors du passage de la référence entre deux domaines d'application ou appartements, un proxy de l'objet sera utilisé. La création de RCW est basée sur les métadonnées dérivées de la bibliothèque de types. Sa destruction se produit pendant le garbage collection. Le marshaling par RCW inclut la conversion des arguments de méthode et des valeurs de retour de telle sorte qu'ils soient représentés d'une manière qui peut être lue par le client et le serveur. Un exemple de marshaling peut être la conversion qui a lieu pour un argument de chaîne qui doit être passé en tant que type BSTR pour un composant COM, alors qu'il doit être de type chaîne dans un client .NET.

RCW peut être créé à l'aide de Visual Studio, qui utilise une fonction de génération de code automatique, rendant le processus simple et transparent pour l'utilisateur. Sinon, l'assemblage RCW contient des métadonnées pour les types définis dans la bibliothèque de types d'un composant peut être créé à l'aide de l'outil tlbimp.exe à partir de la ligne de commande.

Cette définition a été écrite dans le contexte de .NET