devcon工具使用
+ -

Windows设备控制台Devcon.exe简介

2021-07-01 646 0

什么是DevCon

DevCon是一个控制台工具,可以用来DevCon来启用、禁用、安装、配置和删除设备。

DevCon版本区分

DevCon.exe根据平台的不同,分为x86,x64和Arm32,ARM64版本。

  • x86:只能安装Windows32位操作系统x86/x64处理器上。
  • x64:只能安装Windows64位操作系统x64处理器上。
  • ARM32:只能安装Windows32平台 ARM处理器上的驱动。
  • ARM64:只能安装Windows64平台 ARM处理器上的驱动。

不同平台的的DevCon不能交叉使用。例如不能用32位的DevCon去安装64位操作系统的驱动,虽然32位devcon.exe可以在64位Windows操作系统上运行。

DevCon适用的环境

DevCon适用于windows2000及更高版本的Windows上。

DevCon的下载及安装

DevCon(Devcon.exe)在安装WDK、Visual Studio和Windows SDK for desktop应用程序时自动安装包含。
当然也可以手动下载。
下载地址为:https://docs.microsoft.com/zh-cn/windows-hardware/drivers/download-the-wdk

DevCon官方教程

设备控制台 (DevCon.exe) 命令 https://docs.microsoft.com/zh-cn/windows-hardware/drivers/devtest/devcon-general-commands

DevCon.exe的源码

DevCon.exe的源代码开源,可以在github上下载。
https://github.com/Microsoft/Windows-driver-samples/tree/master/setup/devcon

DevCon.exe的功能

DevCon.exe主要使用的是SetupApi系列函数开发,所以关于Windows设备驱动的管理功能。

显示驱动程序和设备信息DevCon可以显示本地计算机和远程计算机(运行Windows XP及更早版本)上驱动程序和设备的以下属性:
  • 硬件ID、兼容ID和设备实例ID。这些标识符在设备标识字符串中详细描述。
  • 设备设置类
  • 设备设置类中的设备
  • INF文件和设备驱动程序文件
  • 驱动程序包的详细信息
  • 硬件资源
  • 设备状态
  • 预期的驱动程序堆栈
  • 驱动程序商店中的第三方驱动程序包
设备的搜索:可以按硬件ID、设备实例ID或设备设置类在本地或远程计算机上搜索已安装和未安装的设备。
更改设备设置DevCon可以通过以下方式更改本地计算机上即插即用(PnP)设备的状态或配置:
  • 启用设备
  • 禁用设备
  • 更新驱动程序(交互式和非交互式)
  • 安装设备(创建devnode并安装软件)
  • 从设备树中删除设备并删除其设备堆栈
  • 重新扫描即插即用设备
  • 添加、删除和重新排序根枚举设备的硬件ID
  • 更改设备设置类的上部和下部筛选器驱动程序
  • 从驱动程序存储中添加和删除第三方驱动程序包
重新启动设备或计算机DevCon可以重新启动本地设备、按需重新启动本地系统,或者在需要时重新启动本地系统以执行其他DevCon操作。

0 篇笔记 写笔记

Devcon hwids命令
任何设备的与驱动都是通过设备的硬件ID进行关联的。设备的ID用于标识设备的身份,DevCon.exe关于ID的操作都是通过HwIDs参数来执行的。设备的ID包括:硬件ID、兼容ID和设备实例ID.Devcon.exe HwIDs语法devcon [/m:\computer] hwids {......
devcon update/remove命令(更新/安装/卸载驱动)
这里的inf文件为:pnpon.inf硬件ID为:*PNPONVDualA可根据需要自行修改CD /d %~dp0devcon.exe update pnpon.inf "*PNPONVDualA"echo %errorlevel% if %errorlevel% ......
Windows设备控制台Devcon.exe简介
什么是DevConDevCon是一个控制台工具,可以用来DevCon来启用、禁用、安装、配置和删除设备。DevCon版本区分DevCon.exe根据平台的不同,分为x86,x64和Arm32,ARM64版本。x86:只能安装Windows32位操作系统x86/x64处理器上。x64:只能安装W......
devcon.exe driverfiles显示设备驱动
devcon.exe driverfiles "USBVID_0483&PID_3748&REV_0100"USBVID_0483&PID_37485&1E7D8DB7&0&5 Name: STM32 STLink......
SetupAPI 根据类GUID获取类描述符信息SetupDiGetClassDescriptionEx
Windows设备的一种管理方式就是在安装设备驱动的时候,通过INF文件中的Class和ClassGUID来设置,如Class=USBClassGuid={36FC9E60-C465-11CF-8056-444553540000}当设备驱动安装后,可以通过SetupDiClassNameFro......
Devcon Rescan命令代码实现
在Windows的设备管理器工具栏有一个小电脑的图标,点击后,系统会强制设备管理器树进行更新并重新枚举卸载掉(devcon的remove用法)的设备并安装驱动程序。这个功能在devcon.exe的源代码中有,其对应的devcon命令为devcon.exe resan函数原型:CM_Locate......
Devcon命令大全
Windows设备控制台Devcon.exe是一款使用SetupAPI函数实现的系统设备及驱动管理的软件,使用它我们可以安装、卸载设备驱动。devcon.exe使用命令行的方式来进行运行,其支持的命令如下:devcon.exe help其输出内容如下:Device Console Help:......
DevCon classes命令
classes命令列出了所有设备安装程序类,包括系统上的设备不使用的类。 在本地和远程计算机上都可以使用。 devcon [/m:\computer] classes参数 如果要在指定的远程机器上运行,使用/m参数,并且目标计算机的路径使用反斜杠””来标识。注意 若要在远程计算机上运行......
DevCon ListClass命令
DevCon ListClass用于列出指定设备设置类中的所有设备。 在本地和远程计算机上有效。命令格式devcon [/m:\computer] listclass class [class...]参数如果要在指定的远程机器上运行,使用/m参数,并且目标计算机的路径使用反斜杠””来标识。......
Devcon ListClass命令代码实现
ListClass命令用于列出当前系统中该设备类下的的有设备实例并显示设备的友名。ListClass命令由两部分组成:第一部分是根据设备的类名获取其类GUID,然后再通过SetupDiGetClassDevsEx打开该GUID分类的设备集,获取其 HDEVINFO devs句柄。当然这里也为了显......
Devcon hwids命令源代码实现
Devcon hwids命令显示设备的硬件ID信息。主要的显示包括如下:了解过之前几个命令的同学应该觉地比较简单,因为或多或少有些信息如设备友名,设备实例名路径我们都获取过,而设备的硬件ID和兼容ID其实与是比较简单是,和设备的友名一样,是通过SetupDiGetDeviceRegistryPro......
DevCon DriverNodes命令
DevCon DriverNodes命令列出与设备兼容的所有驱动程序包及其版本和驱动排名。DevCon DriverNodes 操作仅在本地计算机上运行。DevCon DriverNodes 操作对于排查驱动安装问题特别有用。 例如,可以使用它来确定设备Windows INF 文件或自定义的第三方 ......
DevCon DriverNodes命令代码实现
DevCon DriverNodes命令的代码实现几乎和Devcon hwids命令源代码实现几乎一致,惟一的不同就是回调要显示的参数不同和DriverNodes不支持在远程机器上运行却不支持/m命令。int cmdDriverNodes(_In_ LPCTSTR BaseName, _In_o......
DevCon Resources命令
DevCon Resources列出设备占用的系统资源。这些资源可能是可分配的和可寻址的总线路径,如 DMA 通道、I/O端口、IRQ 和内存地址。 在本地和远程计算机上有效。在指定的远程计算机上运行命令。 必须使用反斜杠。注意 若要在远程计算机上运行 DevCon 命令,组策略设置必须允许即插......
DevCon Stack命令
显示指定设备的预期驱动程序堆栈,以及每个设备的设备安装程序类的 GUID 和名称。 在本地和远程计算机上有效在指定的远程计算机上运行命令。 必须使用反斜杠。注意 若要在远程计算机上运行 DevCon 命令,组策略设置必须允许即插即用服务在远程计算机上运行。 在运行 Windows Vista 和......
作者信息
我爱内核
Windows驱动开发,网站开发
好好学习,天天向上。
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

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

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