Partager via


Personnalisation de wrappers standard

Cette rubrique décrit les processus que vous appliquez pour personnaliser les wrappers standard pouvant être appelés par le runtime et les wrappers pouvant être appelés par COM.

Wrappers pouvant être appelés par le runtime

Quand un client .NET active un objet COM, le runtime génère une instance du wrapper pouvant être appelé par le runtime (RCW) afin d'envelopper le type COM. Comme le montre l'illustration suivante, le runtime utilise les métadonnées obtenues à partir d'une bibliothèque de types COM importée pour générer le wrapper RCW. Le wrapper marshale les données selon les règles établies par le service marshaling d'interopérabilité.

Génération de wrapper RCW et appels de méthodes

Personnalisation de wrappers standard

Il existe deux façons de personnaliser un wrapper RCW. Si vous pouvez modifier la source du langage de définition d'interface (IDL, Interface Definition Language), vous pouvez appliquer les attributs du fichier bibliothèque de types (TLB, Type Library File) et importer la bibliothèque de types. Vous pouvez également appliquer des attributs spécifiques à l'interopérabilité à des types importés et générer un nouvel assembly. La prise en charge de la personnalisation de wrappers RCW standard est limitée par ces attributs. Pour obtenir des instructions, consultez Comment : personnaliser les wrappers RCW (Runtime Callable Wrapper).

Wrappers pouvant être appelés par COM

Un wrapper pouvant être appelé par COM (CCW) expose des objets .NET Framework à COM. En compilant un projet managé dans une DLL de l'assembly, vous créez automatiquement les métadonnées requises pour décrire chaque type dans l'assembly. Le runtime utilise ces métadonnées pour générer un wrapper CCW chaque fois qu'un client COM active un objet managé.

Pour personnaliser un wrapper CCW, appliquez des attributs spécifiques à l'interopérabilité à votre code source managé et compilez la source dans un assembly, comme le montre l'illustration suivante. Dans cet exemple, Tlbexp.exe convertit les types managés en COM.

Génération d'un wrapper CCW et appels de méthodes

Personnalisation de wrappers standard

En appliquant des attributs à votre code, vous pouvez modifier le comportement de marshaling des données et de l'interface dans les limites du service marshaling d'interopérabilité. Par exemple, vous pouvez déterminer le format des données passées en tant qu'argument à une méthode. Vous pouvez également déterminer les types d'un assembly qui sont exposés à COM.

Voir aussi

Tâches

Comment : personnaliser les wrappers RCW (Runtime Callable Wrapper)

Référence

Type Library Importer (Tlbimp.exe)
MSIL Disassembler (Ildasm.exe)

Concepts

Wrappers COM
Wrapper pouvant être appelé par le runtime
Wrapper pouvant être appelé par COM
Application d'attributs d'interopérabilité

Autres ressources

Résumé de la conversion d'une bibliothèque de types en assembly
Résumé de la conversion d'un assembly en bibliothèque de types