J'ai un module A dans C++ managé, cela dépend du module B en C++ natif qui a été encapsulé COM plus. Dans le module B, je lis les octets d'un fichier. Maintenant, j'essaie d'appeler la fonctionnalité de lecture de fichier de A. Mais échoué. Détail des dépendances: J'ai utilisé tlbimp.exe et généré l'interop selon le module B. Un referrs à l'interop.Comment recevoir des octets dans un projet C++ géré à partir du projet COM plus
J'ai essayé de passer un "tableau ^" mais un seul caractère a été reçu, ce qui est compréhensible car le marshaling ne connaît pas la longueur du tableau et ne peut pas gérer tout le tableau.
J'ai recherché quelques recommandations sur la matrice sécurisée, mais je n'ai pas pu l'utiliser avec succès dans mes projets. Quelqu'un pourrait m'aider à ce sujet?
Merci beaucoup.
Vous pouvez utiliser IStream au lieu de passer des octets. –
Donc je dois implémenter IStream dans le module B et l'exporter vers A? Et créer un objet stream dans le module A avec le type exporté de B? – Cesc
Quelque chose comme ça. Vous pouvez même réutiliser le .NET IStream existant construit spécialement pour l'interopérabilité native (http://msdn.microsoft.com/fr-fr/library/system.runtime.interopservices.comtypes.istream.aspx) –