报错:尝试读取或写入受保护的内存,这通常是指示其他内存已损坏 我也遇到同样的问题了,在C#里调用函数Syn_ReadMsg(nPort, iIfOpen, ref CardMsg)报错,是说“尝试读取或写入受保护的内存,这通常是指示其他内存已损坏”该如何修改呢?请教各位啦! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 注意调用时声明的参数类型是否合理, 会不会是这个参数接收的时候没有声明长度? ref CardMsg 我这个是在做读卡器功能,是从读卡器里读出刷卡的身份证信息,调用这个函数的时候就出现这个问题,搞了几天了,还是没有解决,请教各位帮帮忙了...这个结构体是这样的,调用IDCardData实例化的对象[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)] public struct IDCardData { [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)] public string Name; //姓名 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 6)] public string Sex; //性别 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 20)] public string Nation; //名族 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 18)] public string Born; //出生日期 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 72)] public string Address; //住址 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 38)] public string IDCardNo; //身份证号 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)] public string GrantDept; //发证机关 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 18)] public string UserLifeBegin; // 有效开始日期 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 18)] public string UserLifeEnd; // 有效截止日期 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 38)] public string reserved; // 保留 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 255)] public string PhotoFileName; // 照片路径 } WinForm里调用都没问题,可是在Web里就出问题了 存在二义性如何解决 修改TableAdapter中的SQL代码遇到的问题 这段代码为什么是这个结果? axWebBrowser嵌入excel问题? A question!加急 关于DataGrid里面模版列DropDownList数据绑定的问题 C# winform 如何获取本地计算机的DPI? 怎么学习好,编写控件? 我不想让用户重复登录,怎么办? 这样从ORACLE里取数错了吗? 什么是service?? SQL:上级部门统计下级多部门总人数
会不会是这个参数接收的时候没有声明长度? ref CardMsg
这个结构体是这样的,调用IDCardData实例化的对象
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)]
public struct IDCardData
{
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
public string Name; //姓名
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 6)]
public string Sex; //性别
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 20)]
public string Nation; //名族
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 18)]
public string Born; //出生日期
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 72)]
public string Address; //住址
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 38)]
public string IDCardNo; //身份证号
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
public string GrantDept; //发证机关
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 18)]
public string UserLifeBegin; // 有效开始日期
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 18)]
public string UserLifeEnd; // 有效截止日期
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 38)]
public string reserved; // 保留
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 255)]
public string PhotoFileName; // 照片路径
}