首页 新闻 搜索 专区 学院

C#调用读卡器

0
悬赏园豆:10 [已关闭问题]
<p class="MsoNormal"><span style="font-size: 12pt; font-family: 宋体;" lang="EN-US">Function Integer DC_Mif_Read(Integer bAddr ,Ref String bData ) Library "Fox_DC.dll"</span></p> <p><span style="font-size: 12pt; font-family: 宋体;" lang="EN-US"> <p class="MsoNormal"><span style="font-size: 12pt; font-family: 宋体;" lang="EN-US">Function Integer DC_Mif_Write(Integer bAddr , Ref String bData ) Library "Fox_DC.dll"</span></p> <p class="MsoNormal"><span style="font-size: 12pt; font-family: 宋体;" lang="EN-US">这两个函数是PB中的声明</span></p> <p class="MsoNormal"><span style="font-size: 12pt; font-family: 宋体;" lang="EN-US">说明如下:</span></p> <p class="MsoNormal"><span style="font-size: 12pt; font-family: 宋体;" lang="EN-US">DC_Mif_Write<br />DC_Mif_Write 函数向卡片内的指定块地址写入一字符串。</span></p> <p class="MsoNormal"><span style="font-size: 12pt; font-family: 宋体;" lang="EN-US">WORD DC_Mif_Write<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BYTE _bAdr,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BYTE *_bData<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; );<br />&nbsp;<br />参数<br />_bAdr </span></p> <p class="MsoNormal"><span style="font-size: 12pt; font-family: 宋体;" lang="EN-US">要写入的块地址。对于Mifare S50卡,其范围为(1 - 63),对于Mifare L10卡,其范围为(2 - 11), Mifare 1102 其范围是(2 &ndash; 15);Token其范围是(2 &ndash; 15)。 </span></p> <p class="MsoNormal"><span style="font-size: 12pt; font-family: 宋体;" lang="EN-US">_bData </span></p> <p class="MsoNormal"><span style="font-size: 12pt; font-family: 宋体;" lang="EN-US">无符号字符型指针,其内容为要写入到卡片内的ASC码形式的字符串。Mifare S50应确保已分配给_bData指针至少32个字节的空间,其余8字节就好。 </span></p> <p class="MsoNormal"><span style="font-size: 12pt; font-family: 宋体;" lang="EN-US">返回值<br />如果函数调用成功,返回值为0。</span></p> <p class="MsoNormal"><span style="font-size: 12pt; font-family: 宋体;" lang="EN-US">如果函数调用失败,返回值不为0。如需得到错误描述,请调用DC_GetLastError。</span></p> <p class="MsoNormal"><span style="font-size: 12pt; font-family: 宋体;" lang="EN-US">DC_Mif_Read<br />DC_Mif_Read 函数从卡片内的指定块地址读取一字符串。</span></p> <p class="MsoNormal"><span style="font-size: 12pt; font-family: 宋体;" lang="EN-US">WORD DC_Mif_Read<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BYTE _bAdr, <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BYTE *_bData<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ) <br />参数<br />_bAdr</span></p> <p class="MsoNormal"><span style="font-size: 12pt; font-family: 宋体;" lang="EN-US">要读取的块地址。对于Mifare S50卡,其范围为(0 - 63);对于Mifare L10卡,其范围为(0 - 11),其中有连续两个块读的内容是一样的;Mifare 1102 其范围是(0 &ndash; 15);Token其范围是(0 &ndash; 15)。 </span></p> <p class="MsoNormal"><span style="font-size: 12pt; font-family: 宋体;" lang="EN-US">_bData </span></p> <p class="MsoNormal"><span style="font-size: 12pt; font-family: 宋体;" lang="EN-US">无符号字符型指针,指向从卡片存储区内读到的字符串的ASC码并返回给应用程序。读Mifare S50的卡应确保已分配给_bData指针至少32个字节的空间,Mifare L10 至少16字节空间,其余8字节就可。 </span></p> <p class="MsoNormal"><span style="font-size: 12pt; font-family: 宋体;" lang="EN-US">&nbsp;</span></p> <p class="MsoNormal"><span style="font-size: 12pt; font-family: 宋体;" lang="EN-US">返回值<br />如果函数调用成功,返回值为0。</span></p> <p class="MsoNormal"><span style="font-size: 12pt; font-family: 宋体;" lang="EN-US">如果函数调用失败,返回值不为0。如需得到错误描述,请调用DC_GetLastError。 <br /></span></p> <p class="MsoNormal">&nbsp;</p> <p class="MsoNormal">&nbsp;</p> <p class="MsoNormal"><span style="font-size: 12pt; font-family: 宋体;" lang="EN-US">在C#中如何调用</span></p> </span></p> <p class="MsoNormal"><span style="font-size: 12pt; font-family: 宋体;" lang="EN-US">我在C#中调用 <br />[DllImport("FOX_DC.dll", EntryPoint = "DC_Mif_Read")] <br />&nbsp; &nbsp; &nbsp; &nbsp; public static extern int DC_Mif_Read(UInt16 bAddr,ref string bData); <br /><br />string udd = ""; <br />DC_Mif_Read(0, ref&nbsp; udd);到这句就出错了 <br />引发类型为&ldquo;System.ExecutionEngineException&rdquo;的异常。 <br />大家帮忙 <br /></span></p>
叶子绿了的主页 叶子绿了 | 初学一级 | 园豆:50
提问于:2009-06-10 10:22
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册