用C#下的HID读卡器使用SCardConnect的返回值为6,求救

yin_helmet 2017-06-28 04:59:48
private void bConnect_Click(object sender, EventArgs e)/*症结所在*/
{
int ReaderNum = -1;
ReaderNum = this.cbReader.SelectedIndex;
switch (ReaderNum)
{
case 0:
if (ICCReader)
retCode = ModWinsCard.SCardDisconnect(hCardICC, ModWinsCard.SCARD_UNPOWER_CARD);
retCode = ModWinsCard.SCardConnect(hContext, cbReader.Text, ModWinsCard.SCARD_SHARE_EXCLUSIVE, ModWinsCard.SCARD_PROTOCOL_T0 | ModWinsCard.SCARD_PROTOCOL_T1, ref hCardICC, ref Protocol);
break;

case 1:
if (PICCReader) /*调试从这个地方进去的*/
retCode = ModWinsCard.SCardDisconnect(hCardPICC, ModWinsCard.SCARD_UNPOWER_CARD);
string s = cbReader.Text;
retCode = ModWinsCard.SCardConnect(hContext, cbReader.Text, ModWinsCard.SCARD_SHARE_EXCLUSIVE, ModWinsCard.SCARD_PROTOCOL_T0 | ModWinsCard.SCARD_PROTOCOL_T1, ref hCardPICC, ref Protocol);
int test = retCode;/*查看的结果,这个retcode的值为6*/
break;

case 2:
if (SAMReader)
retCode = ModWinsCard.SCardDisconnect(hCardSAM, ModWinsCard.SCARD_UNPOWER_CARD);
retCode = ModWinsCard.SCardConnect(hContext, cbReader.Text, ModWinsCard.SCARD_SHARE_EXCLUSIVE, ModWinsCard.SCARD_PROTOCOL_T0 | ModWinsCard.SCARD_PROTOCOL_T1, ref hCardSAM, ref Protocol);
break;

default:
break;
}
if (retCode == ModWinsCard.SCARD_S_SUCCESS)/*所以这个地方总是进不去*/
大牛们,求救
...全文
401 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
yin_helmet 2017-06-29
  • 打赏
  • 举报
回复
好的,谢谢了
by_封爱 版主 2017-06-29
  • 打赏
  • 举报
回复
这东西你打110也没用..看文档看文档看文档. 文档看不懂 就打电话咨询厂商售后技术部.... 在csdn上问这种问题 你是得不到答案的
yin_helmet 2017-06-29
  • 打赏
  • 举报
回复
ModWinsCard.SCARD_S_SUCCESS的值为0,应该是参数的问题,现在在尝试调,就觉得这个返回值看起来比较特殊,看有没有特殊的含义。
  • 打赏
  • 举报
回复
ModWinsCard.SCARD_S_SUCCESS 这个值是多少 看看说明文档就知道了,既然retCode=6, 不成立,那就应该去调试代码。

111,092

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧