Un Runtime Callable Wrapper (RCW) est un objet proxy généré par le Common Language Runtime (CLR) .NET afin de permettre l'accès à un objet COM ( Component Object Model ) à partir du code managé. Bien que le RCW semble être un objet ordinaire pour les clients .NET, sa fonction principale est de regrouper les appels et les données entre un client .NET et un objet COM.
Par exemple, une application gérée écrite en C# peut utiliser une bibliothèque COM existante écrite en C++ ou Visual Basic 6 , via des RCW.
Le runtime crée exactement un RCW pour chaque objet COM, quel que soit le nombre de références existant sur cet objet. Le runtime conserve un seul RCW par processus pour chaque objet. Si vous créez un RCW dans un domaine d'application ou un apartment, puis transmettez une référence à un autre domaine d'application ou apartment, un proxy vers le premier objet sera utilisé.