Le problème ci-dessous est ralated à ma précédente questionFonction C++ appelant à partir de l'application C#. Tentative de lecture ou d'écriture mémoire protégée
Converting static link library to dynamic dll
Ma première étape a consisté à développer une dll, cela a été fait. (Merci John Knoeller Prakash. Votre entrée a été très utile)
Maintenant, quand j'appelle la fonction dans la dll de mon application C# je reçois l'erreur
« Tentative de lecture ou d'écriture de mémoire protégée. Cela est souvent une indication que l'autre mémoire est corrompue. "
Voici le C++ définition
extern "C" DEMO2_API void Decompress(char* inp_buff, unsigned short*
inp_len, char* buffer_decomp,unsigned *output_len,unsigned short* errorCode);
Mon C# converstion p/Involke
private static extern void Decompress(
byte[] inp_buff,
ref ushort inp_len,
byte[] buffer_decomp,
ref int output_len,
ref ushort errorCode
);
Et je l'appelle comme ci-dessous
byte[] dst = new byte[2048];
int outlen = 2048;
ushort errorCode = 0;
Decompress(src, (ushort)src.Length, dst, ref outlen,ref errorCode);
return dst;
Quel est le problème?
Je l'ai édité. – Manjoor