最近在做一个项目,有用到明华的读卡器,要用明华读卡器来读卡~!
先初始化设备
调用rf_init 返回值是0,表示成功的!
之后寻卡
rf_Card()一直都是失败,返回值不是0
我调用过程是这样的
动态链接库中的函数原型是:
int rf_card(int icdev,unsigned char _Mode,unsigned long *_Snr);
参 数:icdev:通讯设备标识符
_Mode:寻卡模式mode_card
_Snr:返回的卡序列号
我用C#调用改写成下面形式
[DllImport("mwrf32.dll")]
public static extern int rf_card(int icdev, byte _Mode, ref uint _Snr);
但调用之后返回值一直不是0,说明寻卡不成功,请问我这个改写有什么不对的吗?是不是哪里类型搞错了!!!
如果参数是传进的话,用string是可以的,如果是传出的话,用StringBuilder。
至于const int*,用"ref int"来替换。
int===> IntPtr
是不是类型错误了??
像这样的方式你最好用非安全代码的方式,我以前做过,的确会出现这种问题
[DllImport("mwrf32.dll")]
public static extern int rf_card(int icdev, byte _Mode, out uint _Snr);
试试.
int===> IntPtr
我第一个参数用IntPtr试过了,也不行~!!
[DllImport("mwrf32.dll")]
public static extern int rf_card(IntPrt icdev, byte _Mode, ref uint _Snr);
本人在项目中,用ssh架构,想做成分页的效果.
以前我在页面中是,这样取得数据的
<!--进行循环遍历数据-->
<!--进行循环遍历数据-->
<%
List<Users> lof = (List) request.getAttri ......