窗户的设备管理和硬件Id
-
20-08-2019 - |
题
我很好奇如何窗户的设备管理获取的硬件标识设备,即使没有设备驾驶员可能被加载设备。任何人都有一个线索关于如何窗户上有关这个吗?
在一个相关的注意,我有兴趣支持语言的本地化软件是我们的写作;它是可能用于设备和/或司机报告其友好的名称和说明在一个本地化时尚?是否有一个共同的做法这个了吗?
感谢您的时间。
解决方案
第一,要了解了司机正在加载,你建议开关的设备管理成 图|设备的连接 模式。
你会注意到,设备都位于低于他们乘坐的巴士司机。PCI的设备,这将是"PCI车"。USB装置,这将是他们的USB中心。每个巴士司机都有其自己的想法有关如何识别符串的格式应:
- 设备的实例Id
- 硬件Id
- 兼容Id
- 位置,等等。
它返回他们在响应 IRP_MN_QUERY_ID
(BusQueryInstanceID
, BusQueryHardwareIDs
, BusQueryCompatibleIDs
)和 IRP_MN_QUERY_DEVICE_TEXT
(DeviceTextDescription
, DeviceTextLocationInformation
等等)。
当然,因为所列举的巴士司机的装置(即创建儿童设备的你看到的)在第一地点(通过的任何标准接口的适当的;例如'获得设备/String描述'USB),它知道自己的供应商ID、产品标识等。
设备的驾驶员没有被装载在这个时候。事实上,它不可能装载。设备Id正是什么样的指示菲律宾国民警察系统作为其驱动程序相匹配的设备。
如以本地化:
不像 IRP_MN_QUERY_ID
, ,其中提供了不透明的串用于设备匹配, IRP_MN_QUERY_DEVICE_TEXT
信息确实是意在进行本地化。为此目的,收到所请求的区域ID(整)在输入数据(Parameters.QueryDeviceText.LocaleId
).
[如Alphaneo注意到,USB线驱动程序可能通过这整起到USB装置(在获得串描述请求),希望USB装置本身具有局部的弦。]
其他提示
顶层过程称为枚举。大多数现代设备总线支持的机制,可以让操作系统查询汇流并确定哪些设备被连接到该总线。
总线的PCI家族所有支持枚举。 PCI总线具有特殊枚举空间只是这一点。这就是“即插即用”的ID从何而来。
的设备ID的唯一地识别该总线上的装置,使OS找到该设备的正确的驱动程序。
其它总线,包括USB和火线具有枚举策略
设备ID,是从该设备的给定信息的组合。例如,对于USB设备,该字符串是基于VID和PID(厂商ID和产品ID)。现在,如果没有驱动程序加载这是不可能发生的。 ATLEAST一些驱动器,总线驱动器将不得不被加载的OS获取设备ID。
现在,对于语言的支持,我想对于WDM驱动程序,有一个QUERY_LANG什么的,我不记得正确,或者像USB一些设备,有语言ID的支持。这种语言ID确定产品描述符字符串的语言。
请注意,硬件标识符/序列号和真唯一硬件ID之间的差。也许这将更好地解释它: http://www.soft.tahionic.com /download-hdd_id/hardware%20ID%20programmer%27s%20DLL.html