|
本帖最后由 红毛樱木 于 2017-6-5 23:27 编辑
mdyblog 发表于 2017-6-5 20:47
那和直接PECMD调用devcon不一样的效果吗?
现在的pecmd匹配驱动,默认截取设备唯一ID的前两段,这种做法不科学。
实际使用中需要更复杂的算法。
比如设备管理器中显示的ID信息有“硬件ID”和“兼容个ID”,这两个信息本身就有多行,而去匹配inf中的ID应该去拿这些整行整行的信息去匹配,而不是"■匹配级别:设备ID的以&分隔的节数,默认2。"
打个比方(下面的设备是虚构出来的,实际使用也是存在这种情况的):
设备唯一ID:
HDAUDIO\FUNC_01&VEN_111D&DEV_76E0&SUBSYS_103C2109&REV_1003\0000
该设备的硬件ID:
HDAUDIO\FUNC_01&VEN_111D&DEV_76E0&SUBSYS_103C2109&REV_1003
HDAUDIO\FUNC_01&VEN_111D&DEV_76E0&SUBSYS_103C2109
该设备的兼容ID:
HDAUDIO\FUNC_01&CTLR_VEN_8086&CTLR_DEV_8C20&VEN_111D&DEV_76E0&REV_1003
HDAUDIO\FUNC_01&VEN_111D&DEV_76E0
SID\ABCD
HDAUDIO\FUNC_01
INF中的信息:
%HdAudioFunctionDriver.Generic.DeviceDesc% = HdAudModel, ,SID\ABCD
这时候用PECMD内部的匹配算法就匹配不到这个驱动了,所以我就想到把devcon移植过来,比如devcon内部有一些命令Hwids、status、.....这些还是比较实用的。这种需求可能比较极端。 |
|