C++ code:Int ReadState(void *return_buf, char *index)
C# code:
[DllImport("clstatus.dll", CharSet = CharSet.Unicode)]
public static extern int ReadState(IntPtr return_buf, byte[] index);
IntPtr return_buf = new IntPtr();
byte[] index = new byte[4];
int return_r = ReadState(return_buf,index);
一直报内存错误,在网上查了查char *有说用string的有说用byte的。
各种试验都无效还是报这个错误。实在没有办法了,求助于各位。
C# code:
[DllImport("clstatus.dll", CharSet = CharSet.Unicode)]
public static extern int ReadState(IntPtr return_buf, byte[] index);
IntPtr return_buf = new IntPtr();
byte[] index = new byte[4];
int return_r = ReadState(return_buf,index);
一直报内存错误,在网上查了查char *有说用string的有说用byte的。
各种试验都无效还是报这个错误。实在没有办法了,求助于各位。
解决方案 »
- CS下面的SOcket问题
- WPF,请教属性元素的问题
- 非静态的字段、方法或属性“System.Web.UI.WebControls.Label.Text.get”要求对象引用
- 关于线程
- help.简单的插入记录操作问题
- 关于汉字编码
- .net(c#)问题,如何用js脚本调flash
- B/S结构中,有办法获取客户端的网卡地址?
- 那位能提供好用的Windows2003中文版下载网址,并贴序列号,为大家提供方便,谢了
- ■■■我要使DataGrid不能调整大小,但可以单击某一行,该怎么做?■■■
- System.IO.StreamWriter将数据导出Excel时 很多数据不见了
- 请教各位老师,这段代码为什么会提示无法实现接口成员?
[DllImport("clstatus.dll", CharSet = CharSet.Unicode)]
public static extern int ReadState(IntPtr return_buf, StringBuilder index);
按照这位大大用StringBuilder改了一下,
C# code:
[DllImport("clstatus.dll", CharSet = CharSet.Unicode)]
public static extern int ReadState(IntPtr return_buf, StringBuilder index);
IntPtr return_buf = new IntPtr();
StringBuilder index = new StringBuilder();
int return_r = ReadOilState(return_buf,index);依然会报:尝试读取或写入受保护的内存。
[DllImport("clstatus.dll", CharSet=CharSet.Auto)]
public static extern int ReadState(IntPtr return_buf, StringBuilder index);
很奇怪咧。赶脚还是index这个参数的类型没有定义正确。
public static extern int ReadState(ref byte[] return_buf, string index);试试这个吧
按照这位大大用StringBuilder改了一下,
C# code:
[DllImport("clstatus.dll", CharSet = CharSet.Unicode)]
public static extern int ReadState(IntPtr return_buf, StringBuilder index);
IntPtr return_buf = new IntPtr();
StringBuilder index = new StringBuilder();
int return_r = ReadOilState(return_buf,index);依然会报:尝试读取或写入受保护的内存。
++++1