Bonjour,
Nous avons developpé (enfin commencé) une dll C++ permettant d'accéder à une base de données postgres (via libpqxx).
Cette dll doit permettre de renvoyer un pointeur sur un objet COM (MSXML2::IXMLDOMDocument) permettant ainsi via des prog c++ ou c# de manipuler des données au format XML.
Cependant le type MSXML2.IXMLDOMDocument est défini comme une interface et donc non instanciable en C#.

Comment faire pour récuperer cet objet dans un prog c# avec un Pinvoke?

Voici comment j'ai déclaré le Pinvoque
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
[DllImport("System\\DllMsXml.dll", EntryPoint = "?ACExportMsXml_getXMLDocument@@YAPAUIXMLDOMDocument@MSXML2@@XZ", CharSet = CharSet.Ansi)]
        public static extern MSXML2.IXMLDOMDocument ACExportMsXml_getXMLDocument();
Comment faire pour appeler la methode ACExportMsXml_getXMLDocument() sachant que je ne peux pas faire:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
MSXML2.IXMLDOMDocument doc = new MSXML2.IXMLDOMDocument();
doc = ACExportMsXml.ACExportMsXml_getXMLDocument();
Merci de votre aide!

PS:
Si certains ont deja travaillé sur des méthodes d'export de données xml, je suis preneur...