Interopérabilité (Comment faire en Visual C++)
Mise à jour : novembre 2007
Cette page comporte des liens vers l'aide concernant les tâches relatives à l'interopérabilité en utilisant Visual C++. Pour afficher d'autres catégories de tâches courantes traitées dans l'aide, consultez Comment faire en Visual C++.
Interopérabilité CLR/natif
Comparaison entre les fonctionnalités mixte, pure et vérifiable
Compare des fonctionnalités entre les trois modes de compilation /clr.Comment : effectuer une migration vers /clr
Décrit les problèmes qui surviennent lors de la compilation d'un code natif avec /clr et lors de la conversion d'un projet en code managé.Comment : compiler le code MFC et ATL avec /clr
Explique comment compiler des programmes MFC et ATL existants pour cibler le Common Language Runtime.Assemblys mixtes (natif et managé)
Décrit comment les développeurs peuvent créer des applications à l'aide d'un mélange de fonctionnalités managées et non managées.Considérations sur les performances de l'interopérabilité (C++)
Fournit des directives pour réduire l'effet des transitions d'interopérabilité managées/non managées sur les performances d'exécution.How to: Declare public and private on Native Classes
Indique comment référencer un type natif à partir d'un type managé.How to: Pass a Delegate^ to a Native Function Expecting a Function Pointer
Indique comment, à partir d'un composant managé, vous pouvez appeler une fonction native avec les paramètres de pointeur fonction où la fonction native peut alors appeler la fonction membre du délégué du composant managé.Comment : accéder aux caractères d'un System::String
Indique comment accéder aux caractères d'un objet String pour les appels haute performance aux fonctions non managées qui prennent des chaînes wchar_t*.Comment : ajouter une DLL native au Global Assembly Cache
Décrit comment placer une DLL native (pas COM) dans Global Assembly Cache.Comment : procéder à une conversion entre System::Guid et _GUID
Indique comment effectuer une conversion entre un Guid et un _GUID.Comment : convertir la chaîne char * en tableau System::Byte
Indique que le moyen le plus efficace de convertir une chaîne char * en tableau Byte consiste à utiliser la classe Marshal.Comment : convertir une chaîne standard en System::String
Indique décrit comment convertir une chaîne de bibliothèque C++ standard (<string>) en String.Comment : convertir System::String en chaîne standard
Indique comment convertir String en une chaîne de bibliothèque C++ standard (<string>).Comment : convertir System::String en wchar_t * ou char*
Indique comment utiliser PtrToStringChars dans Vcclr.h pour convertir String en wchar_t * ou char * natif.Comment : déclarer des handles dans les types natifs
Indique comment créer un objet gcroot sur la pile native.Comment : déterminer si une image est native ou CLR
Indique comment vérifier par programme si une image a été créée pour le Common Language Runtime.Comment : stocker la référence d'un objet dans une fonction native
Décrit comment utiliser gcroot.h, qui encapsule GCHandle, pour stocker une référence d'objet du CLR dans la mémoire non managée.Comment : stocker une référence à un type valeur dans un type natif
Décrit comment utiliser gcroot sur le type boxed pour stocker une référence à un type valeur dans un type natif.Comment : obtenir un pointeur vers un tableau d'octets
Décrit comment obtenir un pointeur vers le bloc de tableau contenu dans un tableau Byte en prenant l'adresse du premier élément et en l'assignant à un pointeur.Comment : utiliser un type natif dans une compilation /clr
Indique comment définir un type natif dans une compilation /clr et toute utilisation de ce type natif à partir de l'assembly.Comment : encapsuler une classe native pour une utilisation par C#
Indique comment encapsuler une classe C++ native pour pouvoir l'utiliser dans du code créé en C# ou dans un autre langage .NET.
C++ Interop
Comment : marshaler des chaînes ANSI à l'aide de l'interopérabilité C++
Montre comment utiliser l'interopérabilité C++ pour marshaler des chaînes ANSI entre un code managé et un code natif.Comment : marshaler des chaînes Unicode à l'aide de l'interopérabilité C++
Montre comment utiliser l'interopérabilité C++ pour marshaler des chaînes Unicode entre un code managé et un code natif.Comment : marshaler des chaînes COM à l'aide de l'interopérabilité C++
Montre comment utiliser l'interopérabilité C++ pour marshaler des chaînes COM entre un code managé et un code natif.Comment : marshaler des structures à l'aide de l'interopérabilité C++
Montre comment utiliser l'interopérabilité C++ pour marshaler des struct entre un code managé et un code natif.Comment : marshaler des tableaux à l'aide de l'interopérabilité C++
Montre comment utiliser l'interopérabilité C++ pour marshaler des tableaux entre un code managé et un code natif.Comment : marshaler des rappels et des délégués à l'aide de l'interopérabilité C++
Montre comment utiliser l'interopérabilité C++ pour marshaler des rappels et des délégués entre un code managé et un code natif.Comment : marshaler des pointeurs incorporés à l'aide de l'interopérabilité C++
Montre comment utiliser l'interopérabilité C++ pour marshaler des pointeurs incorporés entre un code managé et un code natif.Comment : spécifier un paramètre Out
Indique comment spécifier qu'un paramètre de fonction est un paramètre Out et comment appeler cette fonction à partir d'un programme C#.
COM Interop
Utilisation de serveurs COM natifs à partir du .NET
Décrit les options disponibles pour utiliser des composants COM existants d'applications .NET et souligne les avantages et les inconvénients de chacune des approches.Comment : utiliser des serveurs COM natifs avec TLBIMP
Montre comment les objets COM peuvent être utilisés à partir du code managé à l'aide de l'outil Type Library Importer (Tlbimp.exe).Comment : utiliser des serveurs COM natifs avec CRCWs
Montre comment les objets COM peuvent être utilisés à partir du code managé à l'aide de wrappers RCW (Runtime Callable Wrapper) personnalisés.Exposition de composants .NET Framework à COM
Donne plusieurs conseils d'écriture de code managé interopérant avec des clients COM.
P/Invoke
Comment : marshaler des chaînes à l'aide de PInvoke
Explique comment les fonctions natives qui acceptent des chaînes de style C peuvent être appelées à l'aide du type de chaîne System.String du CLR, grâce à la fonctionnalité Platform Invoke (P/Invoke).Comment : appeler des DLL natives à partir du code managé à l'aide de PInvoke
Montre comment les fonctions implémentées dans des DLL non managées peuvent être appelées à partir du code managé à l'aide de la fonctionnalité Platform Invoke (P/Invoke).Comment : marshaler des structures à l'aide de PInvoke
Explique comment les fonctions natives qui acceptent des struct de style C peuvent être appelées à partir du code managé à l'aide de la fonctionnalité Platform Invoke (P/Invoke).Comment : marshaler des tableaux à l'aide de PInvoke
Explique comment les fonctions natives qui acceptent des tableaux de style C peuvent être appelées à partir du code managé à l'aide de la fonctionnalité Platform Invoke (P/Invoke).Comment : marshaler des pointeurs fonction à l'aide de PInvoke
Explique comment les délégués managés peuvent être utilisés, plutôt que des pointeurs fonction, lors de l'interaction avec des fonctions non managées, à l'aide de la fonctionnalité Platform Invoke (P/Invoke).Comment : marshaler des pointeurs incorporés à l'aide de PInvoke
Explique comment marshaler des pointeurs incorporés à l'aide de la fonctionnalité Platform Invoke (P/Invoke).Comment : modifier la classe de référence dans une fonction native
Indique comment transmettre une classe de référence avec un tableau CLR à une fonction native et modifier cette classe à l'aide des services PInvoke.Comment : analyser des chaînes à l'aide d'expressions régulières
Décrit comment obtenir un pointeur vers le bloc de tableau contenu dans un tableau Byte en prenant l'adresse du premier élément et en l'assignant à un pointeur.
Bibliothèque de prise en charge C++
- Comment : étendre la bibliothèque de marshaling
Explique comment étendre la bibliothèque de marshaling pour fournir davantage de conversions entre des types de données.
Utilisation des Windows Forms dans MFC
Utilisation d'un contrôle utilisateur Windows Form dans MFC
Explique comment utiliser les classes de prise en charge de MFC Windows Forms pour héberger des contrôles Windows Forms dans vos applications MFC comme des contrôles ActiveX dans des vues ou des boîtes de dialogue MFC.Différences de programmation entre Windows Forms et MFC
Fournit des informations générales concernant les différences de programmation entre Windows Forms et MFC.Hébergement d'un contrôle utilisateur Windows Form en tant que boîte de dialogue MFC
Décrit comment héberger un contrôle Windows Forms en tant que boîte de dialogue MFC à l'aide de la classe CWinFormsDialog.Comment : créer le contrôle utilisateur et héberger l'affichage MDI
Indique comment créer un contrôle utilisateur .NET Frameworks, comment le créer dans une bibliothèque de classes de contrôle (en particulier un projet de bibliothèque de contrôles Windows), puis compiler le projet dans un assembly.Comment : ajouter le routage des commandes au contrôle Windows Forms
Montre comment utiliser CWinFormsView pour router les commandes et les messages d'interface utilisateur de commande de mise à jour vers le contrôle utilisateur afin de lui permettre de gérer les commandes MFC.Comment : appeler des propriétés et des méthodes du contrôle Windows Forms
Explique pourquoi il est préférable d'ajouter un membre du type du contrôle utilisateur et de l'initialiser dans IView::OnInitialUpdate.Hébergement d'un contrôle utilisateur Windows Form en tant que vue MFC
Décrit comment héberger un contrôle utilisateur Windows Forms en tant que vue MFC.Comment : créer le contrôle utilisateur et l'héberger dans une boîte de dialogue
Explique comment ajouter un contrôle utilisateur à un nouveau projet MFC basé sur des boîtes de dialogue.Comment : établir la liaison des données DDX/DDV avec Windows Forms
Montre comment lier une chaîne C++ native à un contrôle utilisateur .NET.Comment : recevoir des événements Windows Forms de classes C++ natives
Montre comment permettre aux classes C++ natives de recevoir des rappels d'événements managés déclenchés à partir de contrôles Windows Forms ou d'autres formulaires avec le format de mappage de macro MFC. La réception des événements dans les vues et les boîtes de dialogue est similaire à l'exécution de la même tâche pour les contrôles.Hébergement d'un contrôle utilisateur Windows Form dans une boîte de dialogue MFC
Décrit comment héberger un contrôle utilisateur Windows Forms dans une boîte de dialogue MFC.Comment : établir la liaison des données DDX/DDV avec Windows Forms
Montre comment lier une chaîne C++ native à un contrôle utilisateur .NET.