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的。
各种试验都无效还是报这个错误。实在没有办法了,求助于各位。
解决方案 »
- 用.net存储在数据库的图片路径信息无法正常显示
- 我有个C#编的小游戏代码,谁可以把它实现,是windows应用程序
- C# MVC3 路径问题
- 菜鸟发问,Label的简单问题!
- 救命啊!问题很奇怪啊我找了3天一切正常但是运行的时候就不可以了我是菜鸟请高手们指点下感激万分
- 在picturebox里处理图像,如何把处理的过程显示出来
- 十分着急 怎么可以统计软件的安装数量呢
- 关于WPF dispatcherobject的问题
- Web程序TreeView控件的问题
- 麻烦高手帮看下为什么findwindow能找到,findwindowex怎么都找不到呢
- 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