Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Mise à jour : novembre 2007
Pour utiliser un marshaleur personnalisé, vous devez appliquer l'attribut MarshalAsAttribute au paramètre ou au champ marshalé. L'attribut identifie le marshaleur personnalisé qui active le wrapper approprié.
Le marshaleur personnalisé implémente l'interface ICustomMarshaler afin de fournir les wrappers appropriés au runtime, en créant le marshaleur personnalisé la première fois qu'un argument doit être marshalé. Il appelle les méthodes MarshalNativeToManaged et MarshalManagedToNative sur le marshaleur personnalisé afin d'activer le wrapper approprié pour la gestion de l'appel. Le tableau suivant décrit chaque méthode exposée par l'interface ICustomMarshaler.
Méthode de l'interface |
Description |
|---|---|
MarshalNativeToManaged |
Retourne un wrapper RCW (Runtime Callable Wrapper) personnalisé et capable de marshaler l'interface non managée passée en tant qu'argument. Le marshaleur doit retourner une instance du wrapper RCW personnalisé pour ce type. |
MarshalManagedToNative |
Retourne un wrapper CCW (COM Callable Wrapper) personnalisé et capable de marshaler l'interface managée passée en tant qu'argument. Le marshaleur doit retourner une instance du wrapper CCW personnalisé pour ce type. |
CleanUpNativeData |
Fournit une opportunité pour le marshaleur personnalisé d'effectuer tout nettoyage nécessaire du wrapper retourné par la méthode MarshalManagedToNative. |
CleanUpManagedData |
Fournit une opportunité pour le marshaleur personnalisé d'effectuer tout nettoyage nécessaire du wrapper retourné par la méthode MarshalNativeToManaged. |
GetInstance |
Extrait une instance du marshaleur personnalisé. Cette méthode statique peut soit créer une nouvelle instance du marshaleur personnalisé chaque fois, soit utiliser toujours la même si le marshaleur personnalisé est dépourvu d'état. La méthode est appelée par le service marshaling pour créer le marshaleur chaque fois qu'un paramètre ou qu'un champ est marqué avec UnmanagedType.CustomMarshaler. |
Voir aussi
Concepts
Définition du type de marshaling
Utilisation d'un marshaleur de remplacement