如何根据USB端口位置连接智能卡读卡器?

我目前正在对多个智能卡读卡器识别进行一些研究和测试,以确定哪个读卡器连接到哪个USB端口。

假设我将Reader A插入USB端口1.通过调用SCardListReaders函数,我检索以下友好名称:

  • ACS ACR1281 1S双读卡器PICC 0

然后我将另一个读卡器(读卡器B)插入USB端口2.现在我有2个读卡器连接到同一台PC。 调用SCardListReaders会给我:

  • ACS ACR1281 1S双读卡器PICC 0
  • ACS ACR1281 1S双读卡器PICC 1

我知道这些名称是如何生成的( 如何构建PCSC智能卡读卡器的友好名称? )我知道以不同的顺序插入读卡器(首先插入读卡器B然后插入读卡器A)将改变SCARD_ATTR_DEVICE_UNIT因此影响友好的名字。

基于上述情况, 如何确保PC始终自动连接到USB端口1中的PICC阅读器,而不管其友好名称?

任何帮助都感激不尽。 谢谢。