我想使用 WMI 获取系统上所有 PCSC 智能卡读卡器的 DeviceID 和服务。它们都通过 USB 连接,所以我在 WMI 注册表中查询所有Win32_PnPEntity
s。但我不知道如何确定哪些设备是“读卡器”。这是我已经拥有的:
ManagementObjectSearcher mos =
new ManagementObjectSearcher(@"\root\cimv2", @"Select * From Win32_PnPEntity");
ManagementObjectCollection mob = mos.Get();
foreach (ManagementObject mo in mob)
{
Console.WriteLine("DeviceID: " + mo["DeviceID"].ToString());
Console.WriteLine("Service: " + mo["Service"].ToString());
}
我不能只过滤设备名称,阅读器的品牌/型号不同,没有共同点。在设备管理器中,它们都归类在“智能卡读卡器”下,因此必须有(其他)方式。