c# - 如何确定智能卡读卡器的类型(接触式与非接触式)

标签 c# smartcard smartcard-reader pcsc

我正在使用一个 PC/SC 抽象层(自制),并且很好奇如何确定我可能与之交互的阅读器类型。我目前正在使用一种方法,该方法涉及基于读者姓名的字符串的名称正则表达式匹配。这很好,接受没有关于如何命名读者的标准,导致此方法容易出错。任何人有任何具体的建议可以尝试,这些建议可能基于与读者的一些较低级别的沟通?

希望听到一些想法!

最佳答案

我不太清楚您所说的读卡器类型是什么意思,但要了解连接到系统的所有读卡器,您可以使用 SCardListReaders(...) API。

Microsoft MSDN page 上的定义:

LONG WINAPI SCardListReaders(
  __in      SCARDCONTEXT hContext,
  __in_opt  LPCTSTR mszGroups,
  __out     LPTSTR mszReaders,
  __inout   LPDWORD pcchReaders
);

这会以字符串格式返回所有读者的列表,例如SCM 读卡器将返回类似“SCM Microsystems Inc. SCL011 Contactless Reader 0”的内容。

希望这有帮助!!

关于c# - 如何确定智能卡读卡器的类型(接触式与非接触式),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8449786/

相关文章:

c# - 如何同步事件处理程序

c# - 从C#WinForms错误消息中提取特定信息

c# - Umbraco - C# 中的文档类型字段

Java 到 Win32 加密 API

android - 有人用过 ACR1222L android 库吗?

nfc - Apple Watch 是否被 RFID 读取器检测到?

java - 如何使用智能卡对 jar 进行签名

smartcard - 发送扩展 APDU 到 Javacard

c# - PCSC智能卡读卡器 'friendly names'是如何构造的?

python - Pyscard 未能列出读者