devcon工具使用
+ -

DevCon ListClass命令

2022-01-28 113 0

DevCon ListClass用于列出指定设备设置类中的所有设备。 在本地和远程计算机上有效。

命令格式

devcon [/m:\\computer] listclass class [class...]

参数

如果要在指定的远程机器上运行,使用/m参数,并且目标计算机的路径使用反斜杠”\”来标识。

注意 若要在远程计算机上运行 DevCon 命令,组策略设置必须允许即插即用服务在远程计算机上运行。 在运行 Windows Vista 和 Windows 7 的计算机上,默认情况下组策略禁止对服务的远程访问。 在运行 WDK 8.1 和 WDK 8 的计算机上,远程访问不可用。

设备类名可以通地Devcon Classes列出查看设备类名。

使用示例

devcon listclass printers ports
devcon /m:\\Server01 listclass SmartCardReader

本机测试

devcon listclass Keyboard

列出本机的HID键盘设备:

Listing 16 devices in setup class "Keyboard" (Keyboards).
HID\VID_1A2C&PID_2124&MI_00\8&6373BC8&0&0000                : HID Keyboard Device
HID\VID_1C4F&PID_0002&MI_00\9&2AAABD20&0&0000               : HID Keyboard Device
HID\VID_1A2C&PID_2124&MI_00\8&180EB945&0&0000               : HID Keyboard Device
HID\VID_413C&PID_2107\6&2FDD26A8&0&0000                     : HID Keyboard Device
HID\VID_1C4F&PID_0026&MI_00\7&389FAFB3&0&0000               : HID Keyboard Device
HID\VID_17EF&PID_6018&MI_00\8&163C9A&0&0000                 : HID Keyboard Device
HID\VID_1A2C&PID_0002&MI_00\7&BF58CEE&0&0000                : HID Keyboard Device
HID\VID_1A2C&PID_2C27&MI_00\8&311907BA&0&0000               : HID Keyboard Device
HID\VID_1C4F&PID_0002&MI_00\7&33838597&0&0000               : HID Keyboard Device
HID\VID_17EF&PID_6018&MI_00\7&2DA408E5&0&0000               : HID Keyboard Device
HID\VID_413C&PID_2107\6&1D237603&0&0000                     : HID Keyboard Device
HID\VID_1C4F&PID_0002&MI_00\8&2F0F5630&0&0000               : HID Keyboard Device
HID\VID_1A2C&PID_2124&MI_00\7&830F991&0&0000                : HID Keyboard Device
HID\VID_413C&PID_2107\7&531BC78&0&0000                      : HID Keyboard Device
HID\VID_1A2C&PID_2C27&MI_00\7&2EB41018&0&0000               : HID Keyboard Device
HID\VID_1C4F&PID_0002&MI_00\7&20335D7F&0&0000               : HID Keyboard Device

注意,这里显示的是设备的实例路径名和设备的友名或者描述符信息。
设备的实例路径名

这里大家可能会奇惯为什么我这里显示出这么多设备,这是因为我改过这个工具的代码,列出了系统中所有的键盘设备(包括当前不在线的)

devcon源码中使用了SetupDiGetDeviceInfoListDetail首先获取设备的实例ID,然后再通过CM_Get_Device_ID_Ex获取实例名路径。
而设备的描述信息是通过GetDeviceStringProperty获取设备的SPDRP_FRIENDLYNAME或SPDRP_DEVICEDESC来实现的,更详细的可以参考SetupAPI相关的代码示例。

0 篇笔记 写笔记

DevCon ListClass命令
DevCon ListClass用于列出指定设备设置类中的所有设备。 在本地和远程计算机上有效。命令格式devcon [/m:\computer] listclass class [class...]参数如果要在指定的远程机器上运行,使用/m参数,并且目标计算机的路径使用反斜杠””来标识。......
Devcon ListClass命令代码实现
ListClass命令用于列出当前系统中该设备类下的的有设备实例并显示设备的友名。ListClass命令由两部分组成:第一部分是根据设备的类名获取其类GUID,然后再通过SetupDiGetClassDevsEx打开该GUID分类的设备集,获取其 HDEVINFO devs句柄。当然这里也为了显......
DevCon DriverNodes命令
DevCon DriverNodes命令列出与设备兼容的所有驱动程序包及其版本和驱动排名。DevCon DriverNodes 操作仅在本地计算机上运行。DevCon DriverNodes 操作对于排查驱动安装问题特别有用。 例如,可以使用它来确定设备Windows INF 文件或自定义的第三方 ......
作者信息
我爱内核
Windows驱动开发,网站开发
好好学习,天天向上。
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

您的支持,是我们前进的动力!