Bonjour,

J'ai créé une dll en C# (.NET 2.0 et 3.5) qui fait appel à des méthodes venant d'une librairie développée en C/C++.

Cette dernière est utilisée pour échanger des données à travers le web.

J'ai rendu la dll visible pour pouvoir l'instancier en VB6.

Lors de l'utilisation d'une des méthodes de la librairie, j'ai le message suivant:
Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
Le problème se produit sous Vista

J'ai testé toute une série de choses:
  • Ajout de la balise [SecurityPermission(SecurityAction.Assert, Unrestricted = true)]
  • Supprimé toutes les optimisations de compilation
  • Passé d'une version .NET 2 à 3.5


Voilà le code:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
/// <summary>
        /// Retourne le nom du fichier réponse
        /// </summary>
        /// <param name="hdleConnection"></param>
        /// <returns></returns>
        [DllImport("Module.dll", EntryPoint = "getResponse")]
        [SecurityPermission(SecurityAction.Assert, Unrestricted = true)]
        private static extern string getResponse(IntPtr hdleConnection);
Existerait-il une bonne âme qui a déjà eu le même problème et qui aurait trouvé une solution, ou qui aurait un tuyau (ou plusieurs), une direction à me donner?

Merci pour votre aide.


Damzz