我用WinSCard列出所有的读者,这给了我这样一个列表:
ASK RDR4x7 0
SCM Microsystems Inc. SCR3320 USB Smart Card Reader 0
SCM Microsystems Inc. SCR3320 USB Smart Card Reader 1
SCM Microsystems Inc. SCR3320 USB Smart Card Reader 2
这是伟大的,但我不知道它的名字属于哪个读卡器。
在哪里这些名字从何而来? 他们是如何构建的?
我已经找到了到现在为止:在注册表中,有一个HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
的关键。 在此项下,你可以找到相匹配的读卡器的“服务”(这是我通过查询WMI注册表中找到)的子项。 例如:对于服务SCM Microsystems Inc. SCR3320 USB Smart Card Reader
的读者是SCR3XX2K
。
此子项( SCR3XX2K
)还有一个子项Enum
,其中有多个有趣的值:
-
Count
:DWORD,连接读卡器数量 -
0
,1
,2
:STRING,硬件设备ID
我想这些都是附加在“友好名称”的数字,但名称字符串是如何构建我想不通。 我需要这个硬件设备ID(我通过WMI获得)映射到其友好的名称。
那么,什么是用来为智能卡阅读器建立一个“友好名称”的模式,以及在何处来自值?