公司买一个USB接口的刷卡器,厂家提供了DLL文件.需要通过调用DLL文件让刷卡器发出声音和读取卡号,现在调用DLL可以让刷卡器发出声音了,但是读取卡号这出问题了.现在附上代码调用DLL方法:public char[] objchar = new char[5]; //声明数组
[DllImport("OUR_IDR.dll", EntryPoint = "idr_read", CallingConvention = CallingConvention.StdCall)]//调用dll文件中的idr_read函数
public static extern byte idr_read(char[] objchar);
lb.Text = idr_read(objchar).ToString(); //获取读取卡号的返回状态厂家给的DLL文件说明:
函 数 名: idr_read
功  能  :  寻卡并返回该卡的序列号
原始声明:  形参*serial需指向一个至少已分配了5个char空间的可写数组unsigned char *指针,serial的下标由
           0开始.Serial数组的内容无需赋值,因为此数组仅用于返回值。
返  回  :  返回unsigned char值,并将寻到的卡的序列号传值到*serial数组。
返 回 值:  0 操作成功,*serial数组中的数据有效。
------------------
现在调用idr_read方法,返回值是0,说明方法调用成功了,但是取不到卡号,我怀疑是c#和C++数据类型的问题,但不知道怎么改求大虾帮忙看看!!