首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

拜求调用C的Dll 在 C#中的写法解决办法

2013-01-11 
拜求调用C的Dll 在 C#中的写法C 函数接口如下:#ifdef __cplusplusextern C {#endif/*参数:char *pStrIn[

拜求调用C的Dll 在 C#中的写法
C 函数接口如下:


#ifdef __cplusplus
extern "C" {
#endif
/*
参数:
char *pStrIn[in]
long lLenIn[in]
char *pStrOut[out]
long *lLenOut[in,out]
*/
CS_BASEEN_API int BaseEn(char *pStrIn, long lLenIn, char *pStrOut, long *lLenOut);

我在C#中
  
[DllImport(@"BaseEn.dll")]
    protected static extern int BaseEn(string pStrIn, int BaudRate, ref string pStrOut, ref int lLenOut);

都是提示错误:尝试读取或写入受保护的内存。这通常指示其他内存已损坏。
求解决,在线等

[解决办法]
试试

        [DllImport(@"BaseEn.dll",CallingConvention= CallingConvention.Cdecl)]
        protected static extern int BaseEn(string pStrIn, long BaudRate, string pStrOut, ref long lLenOut);

[解决办法]
尝试读取或写入受保护的内存。这通常指示其他内存已损坏是参数传递错误
试试BaseEn(byte[],int,byte[],ref int)
[解决办法]
[DllImport(@"BaseEn.dll")]
    protected static extern int BaseEn(string pStrIn, int BaudRate, ref stringbuilder pStrOut, ref int lLenOut);

热点排行