Partager via


System.Runtime.InteropServices.Marshalling Espace de noms

Contient des types de prise en charge pour l’interopérabilité générée par la source, comme MarshalUsingAttribute.

Classes

AnsiStringMarshaller

Marshaller pour les chaînes ANSI.

ArrayMarshaller<T,TUnmanagedElement>

Représente un marshalleur pour les tableaux.

BStrStringMarshaller

Marshaller pour les chaînes BSTR.

ComExposedClassAttribute<T>

Indique que les instances d’un type doivent être exposées à COM.

ComInterfaceMarshaller<T>

Marshale une interface COM à l’aide d’une instance de StrategyBasedComWrappers.

ComObject

Classe de base pour tous les wrappers pouvant être appelé au runtime source COM (RCWs).

ComVariantMarshaller

Marshale un Object à un ComVariant.

ContiguousCollectionMarshallerAttribute

Spécifie que ce type de point d’entrée marshaller est un marshalleur de collection contigu.

CustomMarshallerAttribute

Indique un type de point d’entrée pour définir un marshaller.

ExceptionAsDefaultMarshaller<T>

Convertit l’exception en valeur par défaut du type non managé spécifié.

ExceptionAsHResultMarshaller<T>

Marshale un objet d’exception à la valeur de son HResult converti en T.

ExceptionAsNaNMarshaller<T>

Convertit toutes les exceptions en NaN.

ExceptionAsVoidMarshaller

Représente un marshaller qui avale des exceptions.

GeneratedComClassAttribute

Spécifie que le type attribué est exposé à COM via COM généré par la source et que le générateur source doit générer du code pour celui-ci.

GeneratedComInterfaceAttribute

Spécifie que le type attribué est une interface COM et que le générateur source doit générer du code pour celui-ci.

IUnknownDerivedAttribute<T,TImpl>

Indique qu’une interface est une représentation managée d’une interface dérivée d’IUnknown.

MarshalUsingAttribute

Attribut utilisé pour fournir un type de marshaller personnalisé ou des informations de taille pour le marshaling.

NativeMarshallingAttribute

Attribut utilisé pour fournir un type marshaller personnalisé par défaut pour un type managé donné.

PointerArrayMarshaller<T,TUnmanagedElement>

Représente un marshalleur pour un tableau de pointeurs.

ReadOnlySpanMarshaller<T,TUnmanagedElement>.UnmanagedToManagedOut

Prend en charge le marshaling d’une gestion managée dans un appel de code non managé vers du code managé.

ReadOnlySpanMarshaller<T,TUnmanagedElement>

Prend en charge le marshaling d’un ReadOnlySpan<T> d’une valeur managée vers un tableau natif contigu des valeurs non managées des éléments.

SafeHandleMarshaller<T>

Marshale SafeHandletypes dérivés suivant les règles de durée de vie des objets SafeHandle.

SpanMarshaller<T,TUnmanagedElement>

Prend en charge le marshaling d’un Span<T> d’une valeur managée vers un tableau natif contigu des valeurs non managées des éléments.

StrategyBasedComWrappers

Type ComWrappersqui utilise des objets de stratégie personnalisables pour implémenter des wrappers d’objets COM et des wrappers d’objets managés exposés à COM.

UniqueComInterfaceMarshaller<T>

Marshale les interfaces COM à l’aide d’une instance StrategyBasedComWrappers qui crée uniquement des wrappers d’objets natifs uniques (RCWs).

Utf16StringMarshaller

Marshaller pour les chaînes UTF-16.

Utf8StringMarshaller

Marshaller pour les chaînes UTF-8.

Structures

AnsiStringMarshaller.ManagedToUnmanagedIn

Marshaler personnalisé pour marshaler une chaîne managée en tant que chaîne non managée ANSI.

ArrayMarshaller<T,TUnmanagedElement>.ManagedToUnmanagedIn

Marshaller pour le marshaling d’un tableau de managé à non managé.

BStrStringMarshaller.ManagedToUnmanagedIn

Marshaler personnalisé pour marshaler une chaîne managée en tant que chaîne non managée ANSI.

ComVariant

Type qui représente un OLE VARIANT dans le code managé.

ComVariantMarshaller.RefPropagate

Marshale un Object à un ComVariant, en propageant la valeur du Object vers le stockage de données existant de la variante si la variante a VT_BYREF type.

CustomMarshallerAttribute.GenericPlaceholder

Type d’espace réservé pour un paramètre générique.

IIUnknownCacheStrategy.TableInfo

Contient des informations sur une interface COM et sa table de méthodes virtuelles.

PointerArrayMarshaller<T,TUnmanagedElement>.ManagedToUnmanagedIn

Représente un marshalleur pour le marshaling d’un tableau de managé à non managé.

ReadOnlySpanMarshaller<T,TUnmanagedElement>.ManagedToUnmanagedIn

Prend en charge le marshaling d’une gestion managée dans un appel de code managé vers du code non managé.

ReadOnlySpanMarshaller<T,TUnmanagedElement>.ManagedToUnmanagedOut

Prend en charge le marshaling d’un code non managé à géré dans un appel de code managé vers du code non managé. Par exemple, retournez des valeurs et out paramètres dans les méthodes P/Invoke.

SafeHandleMarshaller<T>.ManagedToUnmanagedIn

Marshale un SafeHandle comme valeur de handle sous-jacente comme paramètre in ou un paramètre transmis par valeur dans des scénarios managés à non managés comme P/Invokes.

SafeHandleMarshaller<T>.ManagedToUnmanagedOut

Marshale un SafeHandle comme valeur de handle sous-jacente comme paramètre out dans des scénarios managés à non managés comme P/Invokes.

SafeHandleMarshaller<T>.ManagedToUnmanagedRef

Marshale un SafeHandle comme valeur de handle sous-jacente comme paramètre ref dans des scénarios managés à non managés comme P/Invokes.

SpanMarshaller<T,TUnmanagedElement>.ManagedToUnmanagedIn

Prend en charge le marshaling d’une gestion managée dans un appel de code managé vers du code non managé.

Utf8StringMarshaller.ManagedToUnmanagedIn

Marshaler personnalisé pour marshaler une chaîne managée en tant que chaîne non managée UTF-8.

VirtualMethodTableInfo

Fournit des informations sur une table de méthode virtuelle et le pointeur d’instance non managé.

Interfaces

IComExposedClass

Définit des informations au niveau du type pour les types de classes managées exposés à COM.

IComExposedDetails

Définit des détails sur un type de classe managée exposé à COM.

IIUnknownCacheStrategy

Définit une stratégie de recherche de table de méthode virtuelle non managée.

IIUnknownDerivedDetails

Fournit des détails pour l’interface dérivée d’IUnknown.

IIUnknownInterfaceDetailsStrategy

Définit une stratégie pour l’acquisition des détails de l’interface.

IIUnknownInterfaceType

Définit des informations de niveau type pour une interface dérivée d’IUnknown.

IIUnknownStrategy

Définit la stratégie d’interaction IUnknown.

IUnmanagedVirtualMethodTableProvider

Fournit des informations sur une table de méthodes virtuelles pour une interface managée afin d’activer l’appel de méthodes dans la table de méthodes virtuelles.

Énumérations

ComInterfaceOptions

Options pour générer l’interopérabilité d’interface COM avec le générateur de source COM Interop.

MarshalMode

Représente les différents modes de marshaling.