Attempted to read or write protected memory. This is often an indication that ot
damzz
Messages postés1Date d'inscriptionvendredi 8 février 2002StatutMembreDernière intervention17 septembre 2009
-
17 sept. 2009 à 16:55
Lutinore
Messages postés3246Date d'inscriptionlundi 25 avril 2005StatutMembreDernière intervention27 octobre 2012
-
17 sept. 2009 à 23:52
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:
/// <summary>
/// Retourne le nom du fichier réponse
/// </summary>
///
/// <returns></returns>
[DllImport("CIS_Module.dll", EntryPoint = "cis_getResponseDocument")]
[SecurityPermission(SecurityAction.Assert, Unrestricted = true)]
private static extern string cis_getResponseDocument(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?