日期:2014-05-18  浏览次数:21378 次

200分问 C#调用读卡器
Function Integer DC_Mif_Read(Integer bAddr ,Ref String bData ) Library "Fox_DC.dll"


Function Integer DC_Mif_Write(Integer bAddr , Ref String bData ) Library "Fox_DC.dll"

这两个函数是PB中的声明

说明如下:

DC_Mif_Write
DC_Mif_Write 函数向卡片内的指定块地址写入一字符串。

WORD DC_Mif_Write
  (
  BYTE _bAdr,
  BYTE *_bData
  );
 
参数
_bAdr 

要写入的块地址。对于Mifare S50卡,其范围为(1 - 63),对于Mifare L10卡,其范围为(2 - 11), Mifare 1102 其范围是(2 – 15);Token其范围是(2 – 15)。 

_bData 

无符号字符型指针,其内容为要写入到卡片内的ASC码形式的字符串。Mifare S50应确保已分配给_bData指针至少32个字节的空间,其余8字节就好。 

返回值
如果函数调用成功,返回值为0。

如果函数调用失败,返回值不为0。如需得到错误描述,请调用DC_GetLastError。

DC_Mif_Read
DC_Mif_Read 函数从卡片内的指定块地址读取一字符串。

WORD DC_Mif_Read
  (
  BYTE _bAdr, 
  BYTE *_bData
  ) 
参数
_bAdr

要读取的块地址。对于Mifare S50卡,其范围为(0 - 63);对于Mifare L10卡,其范围为(0 - 11),其中有连续两个块读的内容是一样的;Mifare 1102 其范围是(0 – 15);Token其范围是(0 – 15)。 

_bData 

无符号字符型指针,指向从卡片存储区内读到的字符串的ASC码并返回给应用程序。读Mifare S50的卡应确保已分配给_bData指针至少32个字节的空间,Mifare L10 至少16字节空间,其余8字节就可。 

 

返回值
如果函数调用成功,返回值为0。

如果函数调用失败,返回值不为0。如需得到错误描述,请调用DC_GetLastError。 


 

 

请问在C#中如何调用?????



------解决方案--------------------
不懂

 帮顶!
------解决方案--------------------
高深,顶贴
------解决方案--------------------
关注.
------解决方案--------------------
C# code
[DllImport("FOX_DC.dll", EntryPoint = "DC_Mif_Read", SetLastError = true, CharSet = CharSet.Unicode, ExactSpelling = true, CallingConvention = CallingConvention.StdCall)] 
        public static extern int DC_Mif_Read(int bAddr,string bData); 


[DllImport("FOX_DC.dll", EntryPoint = "DC_Mif_Write", SetLastError = true, CharSet = CharSet.Unicode, ExactSpelling = true, CallingConvention = CallingConvention.StdCall)] 
        public static extern int DC_Mif_Write(int bAddr,string bData);

------解决方案--------------------
没用过,帮顶
------解决方案--------------------
期待高手出现,帮顶
------解决方案--------------------
C# code
[DllImport("FOX_DC.dll", EntryPoint = "DC_Mif_Read", SetLastError = true, CharSet = CharSet.Unicode, ExactSpelling = true, CallingConvention = CallingConvention.StdCall)] 
        public static extern int DC_Mif_Read(int bAddr,ref string bData);

------解决方案--------------------
学习中,免得沉下去,顶起来
------解决方案--------------------
以前做M1读卡的时候主要取决然于DLL文件,,如果说DLL中的此方法的话会好一些,具体要看DLL文件中的了,因为毕竟你是通过调用DLL文件中的方法去启动卡的
------解决方案--------------------
是通过DLL文件去启动读卡器的
------解决方案--------------------
绑定 我过段时间也会用到这玩意 期待高手
------解决方案--------------------
郁闷 哪个图不能贴,申请了好久了 郁闷,管理员在干什么。火大的很
[DllImport("FOX_DC.dll", EntryPoint = "DC_Mif_Read", SetLastError = true, CharSet = CharSet.Unicode, ExactSpelling = true, CallingConvention = CallingConvention.StdCall)]