Bonjour,
Je tente d'utiliser la méthode "import" de l'interface "IWABObject" contenu dans wab32.dll.
Tous les exemples P/invoke que j'ai pu lire ne traitent pas de cette bizarrerie, à savoir que l'interface "IWABObject" est retournée lors de l'appel de la fonction "wabOpen".
Peut être ai je mal compris la documentation de :
http://msdn.microsoft.com/en-us/libr...=VS.85%29.aspx
Note : il est dit "ne pas utiliser" mais divers code C++ utilise cette api et je ne vois pas comment faire un import de carnet d'adresse pour OE6 pour XP.

Ce qui est sûr, c'est que je ne sais pas déclarer cette méthode "import" dans le source c#, étant trop novice.

Je pense utiliser correctement la fonction wabopen :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
        [DllImport("C:\\Program Files\\Fichiers communs\\System\\wab32.dll")]
        public  static extern uint WABOpen(
        out  IntPtr lppAdrBook,
        out  IntPtr lppWABObject,
        ref WAB_PARAM lpWABParam,
        long Reserved2
        );
...
iRet = WABOpen(out lppAdrBook, out lppWABObject, ref lpWABParam, (long)0);
note : je pense aussi avoir déclaré et rempli correctement les structures avec
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
        [StructLayout(LayoutKind.Sequential)]
        public  struct WAB_PARAM
        {
...
1 - La documentation, si j'ai bien compris, indique que l'interface "IWABObject" est fournie par le "pointeur" lppWABObject. Ai je bien compris?
2 - Comment déclarer et appeler la méthode "import" de cette interface? Le compilateur csc signale une erreur si je place le code suivant :
lppWABObject.import();

S'il vous est possible de me renseigner sur les 2 points ...
Merci d'avance