悬赏园豆: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 /> (<br /> BYTE _bAdr,<br /> BYTE *_bData<br /> );<br /> <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 – 15);Token其范围是(2 – 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 /> (<br /> BYTE _bAdr, <br /> BYTE *_bData<br /> ) <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 – 15);Token其范围是(0 – 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"> </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"> </p>
<p class="MsoNormal"> </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 /> public static extern int DC_Mif_Read(UInt16 bAddr,ref string bData); <br /><br />string udd = ""; <br />DC_Mif_Read(0, ref udd);到这句就出错了 <br />引发类型为“System.ExecutionEngineException”的异常。 <br />大家帮忙 <br /></span></p>
叶子绿了
|
初学一级
|
园豆:
50
提问于:2009-06-10 10:22