2

我在系统中有两个阅读器(HID OMNIKEY 5321)(每个阅读器执行不同的功能)

  • 读卡器 1 - “智能卡读卡器0
  • 读卡器 2 - “智能卡读卡器1

在我的程序中设置了

  • “智能卡读卡器0 ” - 动作 1
  • “智能卡阅读器1 ” - 动作 2

但有时(没有重新启动,可能失去联系)

  • 读卡器 1 的名称为“智能卡读卡器1
  • 读卡器 2 的名称为“智能卡读卡器0

并且程序没有做用户需要的事情。我在 WinScard.dll 中使用 SCardGetStatusChange(需要阅读器的名称)

该怎么办?有没有办法更改阅读器的名称(固件、驱动程序......)?是否可以使用阅读器的序列号?

我也看了,但没有结果 智能卡读卡器命名:当移除任何读卡器时,其余的名称发生变化 PCSC 智能卡读卡器的“友好名称”是如何构造的?

4

2 回答 2

3

找到解决方案使用 WinSCard 获取 PCSC 读卡器序列号

序列号阅读器

...
SCardConnect(hContext, readerName, SCARD_SHARE_DIRECT, SCARD_PROTOCOL_UNDEFINED, ref hCard, ref protocol);
SCardGetAttrib(hCard, SCARD_ATTR_VENDOR_IFD_SERIAL_NO, receiveBuffer, ref receivebufferLen);
...
于 2014-07-08T13:50:15.433 回答
0

也许您应该关注插入/连接到读卡器的智能卡而不是读卡器本身,并使用卡的特定信息(即序列号或标签)来选择正确的读卡器。

于 2014-07-07T17:53:48.020 回答