System.Runtime.InteropServices Espace de noms
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Fournit un large éventail de membres qui prennent en charge les services COM Interop et Platform Invoke. Si vous ne connaissez pas ces services, consultez interopération avec le code non managé.
Classes
AllowReversePInvokeCallsAttribute |
Permet à une méthode non managée d’appeler une méthode managée. |
AutomationProxyAttribute |
Spécifie si le type doit être marshalé à l’aide du marshaleur Automation ou d’un proxy personnalisé et d’un stub. |
BestFitMappingAttribute |
Contrôle si les caractères Unicode sont convertis en caractères ANSI correspondants les plus proches. |
BStrWrapper |
Marshale les données de type |
ClassInterfaceAttribute |
Indique le type d’interface de classe à générer pour une classe exposée à COM, si une interface est générée du tout. |
CoClassAttribute |
Spécifie l’identificateur de classe d’une coclasse importée à partir d’une bibliothèque de types. |
CollectionsMarshal |
Classe non sécurisée qui fournit un ensemble de méthodes permettant d’accéder aux représentations de données sous-jacentes des collections. |
ComAliasNameAttribute |
Indique l’alias COM d’un paramètre ou d’un type de champ. |
ComAwareEventInfo |
Autorise l’inscription tardive d’un gestionnaire d’événements. |
ComCompatibleVersionAttribute |
Indique à un client COM que toutes les classes de la version actuelle d’un assembly sont compatibles avec les classes d’une version antérieure de l’assembly. |
ComConversionLossAttribute |
Indique que les informations ont été perdues à propos d’une classe ou d’une interface lorsqu’elles ont été importées d’une bibliothèque de types vers un assembly. |
ComDefaultInterfaceAttribute |
Spécifie une interface par défaut à exposer à COM. Cette classe ne peut pas être héritée. |
ComEventInterfaceAttribute |
Identifie l’interface source et la classe qui implémente les méthodes de l’interface d’événement générées lorsqu’une coclasse est importée à partir d’une bibliothèque de types COM. |
ComEventsHelper |
Fournit des méthodes qui permettent aux délégués .NET de gérer les événements à ajouter et à supprimer des objets COM. |
COMException |
Exception levée lorsqu’un HRESULT non reconnu est retourné à partir d’un appel de méthode COM. |
ComImportAttribute |
Indique que le type attribué a été précédemment défini dans COM. |
ComRegisterFunctionAttribute |
Spécifie la méthode à appeler lorsque vous inscrivez un assembly à utiliser à partir de COM ; cela permet l’exécution de code écrit par l’utilisateur pendant le processus d’inscription. |
ComSourceInterfacesAttribute |
Identifie une liste d’interfaces exposées en tant que sources d’événements COM pour la classe attributée. |
ComUnregisterFunctionAttribute |
Spécifie la méthode à appeler lorsque vous annulez l’inscription d’un assembly à utiliser à partir de COM ; cela permet l’exécution de code écrit par l’utilisateur pendant le processus de désinscription. |
ComVisibleAttribute |
Contrôle l’accessibilité d’un type managé ou d’un membre individuel, ou de tous les types au sein d’un assembly, à COM. |
ComWrappers |
Classe pour la gestion des wrappers de types COM IUnknown. |
CriticalHandle |
Représente une classe wrapper pour gérer les ressources. |
CurrencyWrapper |
Encapsule les objets que le marshaleur doit marshaler en tant que |
DefaultCharSetAttribute |
Spécifie la valeur de l’énumération CharSet. Cette classe ne peut pas être héritée. |
DefaultDllImportSearchPathsAttribute |
Spécifie les chemins d’accès utilisés pour rechercher des DLL qui fournissent des fonctions pour les appels de plateforme. |
DefaultParameterValueAttribute |
Définit la valeur par défaut d’un paramètre lorsqu’il est appelé à partir d’un langage qui prend en charge les paramètres par défaut. Cette classe ne peut pas être héritée. |
DispatchWrapper |
Encapsule les objets que le marshaleur doit marshaler en tant que |
DispIdAttribute |
Spécifie l’identificateur de distribution COM (DISPID) d’une méthode, d’un champ ou d’une propriété. |
DllImportAttribute |
Indique que la méthode attribuée est exposée par une bibliothèque de liens dynamiques non managées (DLL) en tant que point d’entrée statique. |
DynamicInterfaceCastableImplementationAttribute |
Attribut requis par n’importe quel type retourné par GetInterfaceImplementation(RuntimeTypeHandle). |
ErrorWrapper |
Encapsule les objets que le marshaleur doit marshaler en tant que |
ExtensibleClassFactory |
Active la personnalisation des objets managés qui s’étendent à partir d’objets non managés lors de la création. |
ExternalException |
Type d’exception de base pour toutes les exceptions COM Interop et exceptions structurées (SEH). |
FieldOffsetAttribute |
Indique la position physique des champs dans la représentation non managée d’une classe ou d’une structure. |
GuidAttribute |
Fournit une Guid explicite lorsqu’un GUID automatique n’est pas souhaitable. |
HandleCollector |
Effectue le suivi des handles en attente et force un garbage collection lorsque le seuil spécifié est atteint. |
IDispatchImplAttribute |
Indique quelle |
ImmutableCollectionsMarshal |
Classe non sécurisée qui fournit un ensemble de méthodes permettant d’accéder aux représentations de données sous-jacentes des collections immuables. |
ImportedFromTypeLibAttribute |
Indique que les types définis dans un assembly ont été définis à l’origine dans une bibliothèque de types. |
InAttribute |
Indique que les données doivent être marshalées de l’appelant vers l’appelé, mais pas de retour à l’appelant. |
InterfaceTypeAttribute |
Indique si une interface managée est double, distribuée uniquement ou |
InvalidComObjectException |
Exception levée lorsqu’un objet COM non valide est utilisé. |
InvalidOleVariantTypeException |
Exception levée par le marshaleur lorsqu’il rencontre un argument d’un type variant qui ne peut pas être marshalé en code managé. |
JsonMarshal |
Fournit un large éventail de membres qui prennent en charge les services COM Interop et Platform Invoke. Si vous ne connaissez pas ces services, consultez interopération avec le code non managé. |
LCIDConversionAttribute |
Indique que la signature non managée d’une méthode attend un paramètre d’identificateur de paramètres régionaux (LCID). |
LibraryImportAttribute |
Indique qu’un générateur source doit créer une fonction pour les arguments de marshaling au lieu de compter sur le runtime pour générer une fonction de marshaling équivalente au moment de l’exécution. |
ManagedToNativeComInteropStubAttribute |
Fournit la prise en charge de la personnalisation des stubs d’interopérabilité des utilisateurs dans les scénarios d’interopérabilité managé-à-COM. |
Marshal |
Fournit une collection de méthodes pour allouer de la mémoire non managée, copier des blocs de mémoire non managés et convertir des types managés en types non managés, ainsi que d’autres méthodes diverses utilisées lors de l’interaction avec du code non managé. |
MarshalAsAttribute |
Indique comment marshaler les données entre le code managé et non managé. |
MarshalDirectiveException |
Exception levée par le marshaleur lorsqu’il rencontre un MarshalAsAttribute il ne prend pas en charge. |
MemoryMarshal |
Fournit des méthodes pour interagir avec Memory<T>, ReadOnlyMemory<T>, Span<T>et ReadOnlySpan<T>. |
NativeLibrary |
Fournit des API pour la gestion des bibliothèques natives. |
NativeMemory |
Cette classe contient des méthodes principalement utilisées pour gérer la mémoire native. |
OptionalAttribute |
Indique qu’un paramètre est facultatif. |
OutAttribute |
Indique que les données doivent être marshalées de l’appelé vers l’appelant. |
PosixSignalContext |
Fournit des données pour un événement PosixSignalRegistration. |
PosixSignalRegistration |
Gère un PosixSignal. |
PreserveSigAttribute |
Indique que la transformation de signature HRESULT qui a lieu pendant les appels COM Interop doit être supprimée. |
PrimaryInteropAssemblyAttribute |
Indique que l’assembly attribué est un assembly d’interopérabilité principal. |
ProgIdAttribute |
Permet à l’utilisateur de spécifier le ProgID d’une classe. |
RegistrationServices |
Fournit un ensemble de services permettant d’inscrire et de désinscrire des assemblys managés à utiliser à partir de COM. |
RuntimeEnvironment |
Fournit une collection de méthodes |
RuntimeInformation |
Fournit des informations sur l’installation du runtime .NET. |
SafeArrayRankMismatchException |
Exception levée lorsque le rang d’une |
SafeArrayTypeMismatchException |
Exception levée lorsque le type du |
SafeBuffer |
Fournit une mémoire tampon contrôlée qui peut être utilisée pour la lecture et l’écriture. Les tentatives d’accès à la mémoire en dehors de la mémoire tampon contrôlée (dépassements et dépassements) déclenchent des exceptions. |
SafeHandle |
Représente une classe wrapper pour les handles du système d’exploitation. Cette classe doit être héritée. |
SEHException |
Représente les erreurs de gestion des exceptions structurées (SEH). |
SequenceMarshal |
Fournit une collection de méthodes permettant d’interagir avec ReadOnlySequence<T>. |
SetWin32ContextInIDispatchAttribute |
Cet attribut a été déconseillé. |
StandardOleMarshalObject |
Remplace le marshaleur à threads libres (CLR) standard par le marshaleur OLE STA standard. |
StructLayoutAttribute |
Permet de contrôler la disposition physique des champs de données d’une classe ou d’une structure en mémoire. |
SuppressGCTransitionAttribute |
Indique qu’une transition de garbage collection doit être ignorée lorsqu’un appel de fonction non managé est effectué. |
TypeIdentifierAttribute |
Fournit la prise en charge de l’équivalence de type. |
TypeLibConverter |
Fournit un ensemble de services qui convertissent un assembly managé en bibliothèque de types COM et inversement. |
TypeLibFuncAttribute |
Contient les FUNCFLAGS qui ont été importées à l’origine pour cette méthode à partir de la bibliothèque de types COM. |
TypeLibImportClassAttribute |
Spécifie les Type utilise exclusivement une interface. Cette classe ne peut pas être héritée. |
TypeLibTypeAttribute |
Contient les TYPEFLAGS qui ont été importées à l’origine pour ce type à partir de la bibliothèque de types COM. |
TypeLibVarAttribute |
Contient les VARFLAGS qui ont été importées à l’origine pour ce champ à partir de la bibliothèque de types COM. |
TypeLibVersionAttribute |
Spécifie le numéro de version d’une bibliothèque de types exportée. |
UnknownWrapper |
Encapsule les objets que le marshaleur doit marshaler en tant que |
UnmanagedCallConvAttribute |
Spécifie la convention d’appel requise pour appeler les méthodes P/Invoke implémentées dans du code non managé. |
UnmanagedCallersOnlyAttribute |
Toute méthode marquée avec UnmanagedCallersOnlyAttribute peut être appelée directement à partir du code natif. Le jeton de fonction peut être chargé dans une variable locale à l’aide de l’opérateur adresse de en C# et transmis en tant que rappel à une méthode native. |
UnmanagedFunctionPointerAttribute |
Contrôle le comportement de marshaling d’une signature de délégué passée en tant que pointeur de fonction non managé vers ou depuis du code non managé. Cette classe ne peut pas être héritée. |
VariantWrapper |
Marshale les données de type |
WasmImportLinkageAttribute |
Spécifie que le P/Invoke marqué avec cet attribut doit être lié en tant qu’importation WASM. |
Structures
ArrayWithOffset |
Encapsule un tableau et un décalage dans le tableau spécifié. |
BIND_OPTS |
Utilisez BIND_OPTS à la place. |
BINDPTR |
Utilisez BINDPTR à la place. |
CLong |
CLong est un type valeur immuable qui représente le type |
ComWrappers.ComInterfaceDispatch |
Interface binaire d’application pour la répartition des fonctions d’une interface COM. |
ComWrappers.ComInterfaceEntry |
Type d’interface et pointeur vers la table virtuelle ciblée. |
CONNECTDATA |
Utilisez CONNECTDATA à la place. |
CULong |
CULong est un type valeur immuable qui représente le type |
DISPPARAMS |
Utilisez DISPPARAMS à la place. |
ELEMDESC |
Utilisez ELEMDESC à la place. |
ELEMDESC.DESCUNION |
Utilisez ELEMDESC.DESCUNION à la place. |
EXCEPINFO |
Utilisez EXCEPINFO à la place. |
FILETIME |
Utilisez FILETIME à la place. |
FUNCDESC |
Utilisez FUNCDESC à la place. |
GCHandle |
Fournit un moyen d’accéder à un objet managé à partir de la mémoire non managée. |
HandleRef |
Encapsule un objet managé contenant un handle à une ressource transmise au code non managé à l’aide d’un appel de plateforme. |
IDLDESC |
Utilisez IDLDESC à la place. |
NFloat |
NFloat est un type valeur immuable qui représente un type flottant qui a la même taille que la taille entière native.
Il est destiné à être utilisé comme type d’échange à la limite managée/non managée pour représenter avec précision les API non managées qui utilisent un alias de type pour les |
OSPlatform |
Représente une plateforme de système d’exploitation. |
PARAMDESC |
Utilisez PARAMDESC à la place. |
STATSTG |
Utilisez STATSTG à la place. |
TYPEATTR |
Utilisez TYPEATTR à la place. |
TYPEDESC |
Utilisez TYPEDESC à la place. |
TYPELIBATTR |
Utilisez TYPELIBATTR à la place. |
VARDESC |
Utilisez VARDESC à la place. |
VARDESC.DESCUNION |
Utilisez VARDESC.DESCUNION à la place. |
Interfaces
_Activator |
Expose la classe Activator au code non managé. |
_Assembly |
Expose les membres publics de la classe Assembly au code non managé. |
_AssemblyBuilder |
Expose la classe AssemblyBuilder au code non managé. |
_AssemblyName |
Expose la classe AssemblyName au code non managé. |
_Attribute |
Expose la classe Attribute au code non managé. |
_ConstructorBuilder |
Expose la classe ConstructorBuilder au code non managé. |
_ConstructorInfo |
Expose les membres publics de la classe ConstructorInfo au code non managé. |
_CustomAttributeBuilder |
Expose la classe CustomAttributeBuilder au code non managé. |
_EnumBuilder |
Expose la classe EnumBuilder au code non managé. |
_EventBuilder |
Expose la classe EventBuilder au code non managé. |
_EventInfo |
Expose les membres publics de la classe EventInfo au code non managé. |
_Exception |
Expose les membres publics de la classe Exception au code non managé. |
_FieldBuilder |
Expose la classe FieldBuilder au code non managé. |
_FieldInfo |
Expose les membres publics de la classe FieldInfo au code non managé. |
_ILGenerator |
Expose la classe ILGenerator au code non managé. |
_LocalBuilder |
Expose la classe LocalBuilder au code non managé. |
_MemberInfo |
Expose les membres publics de la classe MemberInfo au code non managé. |
_MethodBase |
Expose les membres publics de la classe MethodBase au code non managé. |
_MethodBuilder |
Expose la classe MethodBuilder au code non managé. |
_MethodInfo |
Expose les membres publics de la classe MethodInfo au code non managé. |
_MethodRental |
Expose la classe MethodRental au code non managé. |
_Module |
Expose la classe Module au code non managé. |
_ModuleBuilder |
Expose la classe ModuleBuilder au code non managé. |
_ParameterBuilder |
Expose la classe ParameterBuilder au code non managé. |
_ParameterInfo |
Expose la classe ParameterInfo au code non managé. |
_PropertyBuilder |
Expose la classe PropertyBuilder au code non managé. |
_PropertyInfo |
Expose les membres publics de la classe PropertyInfo au code non managé. |
_SignatureHelper |
Expose la classe SignatureHelper au code non managé. |
_Thread |
Expose la classe Thread au code non managé. |
_Type |
Expose les membres publics de la classe Type au code non managé. |
_TypeBuilder |
Expose la classe TypeBuilder au code non managé. |
ICustomAdapter |
Fournit un moyen pour les clients d’accéder à l’objet réel, plutôt que l’objet adaptateur distribué par un marshaleur personnalisé. |
ICustomFactory |
Permet aux utilisateurs d’écrire du code d’activation pour les objets managés qui étendent MarshalByRefObject. |
ICustomMarshaler |
Fournit des wrappers personnalisés pour la gestion des appels de méthode. |
ICustomQueryInterface |
Permet aux développeurs de fournir une implémentation personnalisée et gérée de la méthode IUnknown ::QueryInterface(REFIID riid, void **ppvObject) méthode. |
IDynamicInterfaceCastable |
Interface utilisée pour participer à un échec de cast de type. |
IRegistrationServices |
Fournit un ensemble de services permettant d’inscrire et de désinscrire des assemblys managés à utiliser à partir de COM. |
ITypeLibConverter |
Fournit un ensemble de services qui convertissent un assembly managé en bibliothèque de types COM et inversement. |
ITypeLibExporterNameProvider |
Fournit un contrôle sur la casse des noms lorsqu’ils sont exportés vers une bibliothèque de types. |
ITypeLibExporterNotifySink |
Fournit un mécanisme de rappel pour le convertisseur d’assembly pour informer l’appelant de l’état de la conversion et impliquer l’appelant dans le processus de conversion lui-même. |
ITypeLibImporterNotifySink |
Fournit un mécanisme de rappel pour le convertisseur de bibliothèque de types pour informer l’appelant de l’état de la conversion et impliquer l’appelant dans le processus de conversion lui-même. |
UCOMIBindCtx |
Utilisez BIND_OPTS à la place. |
UCOMIConnectionPoint |
Utilisez IConnectionPoint à la place. |
UCOMIConnectionPointContainer |
Utilisez IConnectionPointContainer à la place. |
UCOMIEnumConnectionPoints |
Utilisez IEnumConnectionPoints à la place. |
UCOMIEnumConnections |
Utilisez IEnumConnections à la place. |
UCOMIEnumMoniker |
Utilisez IEnumMoniker à la place. |
UCOMIEnumString |
Utilisez IEnumString à la place. |
UCOMIEnumVARIANT |
Utilisez IEnumVARIANT à la place. |
UCOMIMoniker |
Utilisez IMoniker à la place. |
UCOMIPersistFile |
Utilisez IPersistFile à la place. |
UCOMIRunningObjectTable |
Utilisez IRunningObjectTable à la place. |
UCOMIStream |
Utilisez IStream à la place. |
UCOMITypeComp |
Utilisez ITypeComp à la place. |
UCOMITypeInfo |
Utilisez ITypeInfo à la place. |
UCOMITypeLib |
Utilisez ITypeLib à la place. |
Énumérations
Architecture |
Indique l’architecture du processeur. |
AssemblyRegistrationFlags |
Définit un ensemble d’indicateurs utilisés lors de l’inscription d’assemblys. |
CALLCONV |
Utilisez CALLCONV à la place. |
CallingConvention |
Spécifie la convention d’appel requise pour appeler les méthodes implémentées dans du code non managé. |
CharSet |
Détermine les chaînes marshalées de jeu de caractères à utiliser. |
ClassInterfaceType |
Identifie le type d’interface de classe généré pour une classe. |
ComInterfaceType |
Identifie comment exposer une interface à COM. |
ComMemberType |
Décrit le type d’un membre COM. |
CreateComInterfaceFlags |
Spécifie des indicateurs pour la méthode GetOrCreateComInterfaceForObject(Object, CreateComInterfaceFlags). |
CreateObjectFlags |
Spécifie des indicateurs pour la méthode GetOrCreateObjectForComInstance(IntPtr, CreateObjectFlags). |
CustomQueryInterfaceMode |
Indique si les appels IUnknown ::QueryInterface de la méthode GetComInterfaceForObject(Object, Type, CustomQueryInterfaceMode) peuvent utiliser l’interface ICustomQueryInterface. |
CustomQueryInterfaceResult |
Fournit des valeurs de retour pour la méthode GetInterface(Guid, IntPtr). |
DESCKIND |
Utilisez DESCKIND à la place. |
DllImportSearchPath |
Spécifie les chemins d’accès utilisés pour rechercher des DLL qui fournissent des fonctions pour les appels de plateforme. |
ExporterEventKind |
Décrit les rappels que l’exportateur de bibliothèque de types effectue lors de l’exportation d’une bibliothèque de types. |
FUNCFLAGS |
Utilisez FUNCFLAGS à la place. |
FUNCKIND |
Utilisez FUNCKIND à la place. |
GCHandleType |
Représente les types de handles que le type GCHandle peut allouer. |
IDispatchImplType |
Indique quelle |
IDLFLAG |
Utilisez IDLFLAG à la place. |
IMPLTYPEFLAGS |
Utilisez IMPLTYPEFLAGS à la place. |
ImporterEventKind |
Décrit les rappels que l’importateur de bibliothèque de types effectue lors de l’importation d’une bibliothèque de types. |
INVOKEKIND |
Utilisez INVOKEKIND à la place. |
LayoutKind |
Contrôle la disposition d’un objet lorsqu’il est exporté vers du code non managé. |
LIBFLAGS |
Utilisez LIBFLAGS à la place. |
PARAMFLAG |
Utilisez PARAMFLAG à la place. |
PosixSignal |
Spécifie un numéro de signal POSIX. |
RegistrationClassContext |
Spécifie l’ensemble de contextes d’exécution dans lesquels un objet de classe sera mis à disposition pour les demandes de construction d’instances. |
RegistrationConnectionType |
Définit les types de connexions à un objet de classe. |
StringMarshalling |
Spécifie la façon dont les chaînes doivent être marshalées pour les appels p/invoke générés |
SYSKIND |
Utilisez SYSKIND à la place. |
TYPEFLAGS |
Utilisez TYPEFLAGS à la place. |
TYPEKIND |
Utilisez TYPEKIND à la place. |
TypeLibExporterFlags |
Indique comment une bibliothèque de types doit être générée. |
TypeLibFuncFlags |
Décrit les paramètres d’origine de l' |
TypeLibImporterFlags |
Indique comment un assembly doit être produit. |
TypeLibTypeFlags |
Décrit les paramètres d’origine de l'TYPEFLAGS dans la bibliothèque de types COM à partir de laquelle le type a été importé. |
TypeLibVarFlags |
Décrit les paramètres d’origine de l'VARFLAGS dans la bibliothèque de types COM à partir de laquelle la variable a été importée. |
UnmanagedType |
Identifie comment marshaler des paramètres ou des champs dans du code non managé. |
VarEnum |
Indique comment marshaler les éléments de tableau lorsqu’un tableau est marshalé du code managé au code non managé en tant que SafeArray. |
VARFLAGS |
Utilisez VARFLAGS à la place. |
Délégués
DllImportResolver |
Fournit un délégué utilisé pour résoudre les bibliothèques natives via le rappel. |
ObjectCreationDelegate |
Crée un objet COM. |
Remarques
Les membres de cet espace de noms fournissent plusieurs catégories de fonctionnalités, comme indiqué dans le tableau suivant. Les attributs contrôlent le comportement de marshaling, comme la façon d’organiser des structures ou comment représenter des chaînes. Les attributs les plus importants sont DllImportAttribute, que vous utilisez pour définir des méthodes d’appel de plateforme pour accéder aux API non managées et MarshalAsAttribute, que vous utilisez pour spécifier comment les données sont marshalées entre la mémoire managée et non managée.