DevCon 命令行实用工具可替代设备管理器_devcon源码_Hustudent20080101的博客-程序员宝宝

技术标签: 内核与驱动  系统  

DevCon 命令行实用工具可替代设备管理器

文章编号: 311272 - 查看本文应用于的产品

本文的发布号曾为 CHS311272

展开全部 | 关闭全部

本页

概要

DevCon 实用工具是一种命令行实用工具,可以替代设备管理器。使用 DevCon,您可以启用、禁用、重新启动、更新、删除和查询单个设备或一组设备。DevCon 还提供与驱动程序开发人员有关、但无法在设备管理器中看到的信息。

可以将 DevCon 用于 MicrosoftWindows 2000Windows XP Windows Server2003,但不能将其用于 Windows 95Windows 98 WindowsMillennium Edition

回到顶端 | 提供反馈

更多信息

DevCon 不可再分发。提供它是为了用作调试和开发工具。您可以随意修改 DevCon 以供个人专用。此示例演示了如何有效地同时使用 SetupAPI CfgMgr32 函数来枚举设备和执行设备操作。可以从 Microsoft 下载中心下载以下文件:

立即下载 DevCon 软件包。 发布日期:2003 1 29

有关如何下载 Microsoft 支持文件的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

119591 如何从联机服务获取 Microsoft 支持文件

Microsoft 已对此文件进行了病毒扫描。Microsoft 使用的是该文件发布时可以获得的最新病毒检测软件。该文件存储在安全性得到增强的服务器上,以防止在未经授权的情况下对其进行更改。 

DevCon.exe
文件包含以下文件:

文件

说明

I386\DevCon.exe

32 位 DevCon 工具的二进制文件。此文件在 64 位 Windows 上不能充分发挥作用。

Ia64\DevCon.exe

64 位 DevCon 工具的二进制文件。


注意DevCon 的源代码也可以从 Windows DDK(位于 http://www.microsoft.com/whdc/devtools/ddk/default.mspx)中得到,路径是 DDK root\Src\Setup\Devcon,此位置还提供了文档。

使用 DevCon

DevCon 是一个带有内置文档的命令行实用工具。如果您运行 devconhelp 命令,将会出现以下命令列表和描述信息。devcon help 命令可提供关于任何命令的详细帮助。使用其中的某些命令,您可以指定远程目标计算机。如果您在 WOW64 上使用 32 位版的 DevCon,则以下命令有效。

设备控制台帮助:

devcon.exe[-r] [-m:\\<machine>] <command> [<arg>...]

-r 如果指定它,在命令完成后若需要则重新启动计算机。

<machine>是目标计算机的名称。

<command>是将要执行的命令(如下所示)。

<arg>...是命令需要的一个或多个参数。

要获取关于某一特定命令的帮助,请键入:devcon.exe help <command>

classfilter          允许修改类别筛选程序。

classes              列出所有设备安装类别。

disable              禁用与指定的硬件或实例 ID 匹配的设备。

driverfiles          列出针对设备安装的驱动程序文件。

drivernodes          列出设备的所有驱动程序节点。

enable               启用与指定的硬件或实例 ID 匹配的设备。

find                 查找与指定的硬件或实例 ID 匹配的设备。

findall              查找设备,包括那些未显示的设备。

help                 显示此信息。

hwids                列出设备的硬件 ID

install              手动安装设备。

listclass            列出某一安装类别的所有设备。

reboot               重新启动本地计算机。

remove               删除与特定的硬件或实例 ID 匹配的设备。

rescan               扫描以发现新的硬件。

resources            列出设备的硬件资源。

restart              重新启动与特定的硬件或实例 ID 匹配的设备。

stack                列出预期的设备驱动程序堆栈。

status               列出设备的运行状态。

update               手动更新设备。

UpdateNI             手动更新设备,无用户提示

SetHwID              添加、删除和更改根枚举设备的硬件 ID 的顺序。

                                       

DevCon 命令示例

devcon -m:\\test find pci\*

列出计算机 test 上的所有已知 PCI 设备。(通过使用 -m,您可以指定一个目标计算机。您必须使用进程间通信”(IPC) 访问此计算机。)

devcon -r install %WINDIR%\Inf\Netloop.inf*MSLOOP

安装一个新的 Microsoft 环回适配器实例。这将创建一个新的根枚举设备节点,使用此节点您可以安装虚拟设备,如环回适配器。如果需要重新启动计算机,此命令还将以安静模式重新启动计算机。

devcon classes

列出所有已知的安装类别。输出结果包含短的未本地化的名称(例如,“USB”)和描述性名称(例如,通用串行总线控制器)。

devcon classfilter upper !filter1 !filter2

删除这两个指定的筛选程序。

devcon classfilter lower !badfilter +goodfilter

“goodfilter”替换“badfilter”

devcon driverfiles =ports

列出与 ports 安装类别中的每一个设备关联的文件。

devcon disable *MSLOOP

禁用硬件 ID “MSLOOP”结尾(包括“*MSLOOP”)的所有设备。

devcon drivernodes @ROOT\PCI_HAL\PNP0A03

列出设备“ROOT\PCI_HAL\PNP0A03”的所有兼容驱动程序。这可以用来确定为什么选择原配的设备信息 (.inf) 文件而不选第三方 .inf 文件。

devcon enable '*MSLOOP

启用硬件 ID “*MSLOOP”的所有设备。单引号指示必须严格按字面解释硬件 ID(换句话说,星号 [“*”] 真的 一个星号,而不是通配符)。 

devcon find *

列出本地计算机上存在的所有设备的设备实例。 

devcon find pci\*

列出本地计算机上所有已知的外围组件互连”(PCI) 设备(如果一个设备的硬件 ID “PCI\”为前缀,此命令就认为该设备是 PCI 设备)。

devcon find =ports *pnp*

列出存在的作为 ports 安装类别的成员而且硬件 ID 中包含“PNP”的设备。 

devcon find =ports @root\*

列出存在的作为 ports 安装类别的成员而且在枚举树的“root”分支中的设备(实例 ID “root\”为前缀)。请注意,有关实例 ID 的格式化方式,不应作任何编程假定。要确定根设备,可以检查设备状态位。此功能包括在 DevCon 中是为了帮助进行调试。

devcon findall =ports

列出 ports 类别的不存在的设备和存在的设备。这包括已经被删除的设备、从一个插槽移到另一个插槽的设备,以及在某些情况下由于 BIOS 改变而被不同地枚举的设备。

devcon listclass usb 1394

列出命令中所列的每个类别(本例中是 USB 1394)的所有存在的设备。

devcon remove @usb\*

删除所有 USB 设备。被删除的设备列出时将显示其删除状态。

devcon rescan

重新扫描以发现新的即插即用设备。 

devcon resources =ports

列出由 ports 安装类别中的所有设备使用的资源。

devcon restart =net @'ROOT\*MSLOOP\0000

重新启动环回适配器“ROOT\*MSLOOP\0000”。命令中的单引号指示必须按字面解释实例 ID 

devcon hwids=mouse

列出系统中鼠标类设备的所有硬件 ID

devcon sethwid @ROOT\LEGACY_BEEP\0000 := beep

将硬件 ID beep 赋予旧式蜂鸣设备。

devcon stack =ports

列出设备预期的驱动程序堆栈。包括设备和类别高层/低层筛选程序,以及控制服务。

devcon status @pci\*

列出实例 ID “pci\”开头的每一个存在设备的状态。

devcon status @ACPI\PNP0501\1

列出特定设备实例的状态,在本例中是一个高级配置和电源界面 (ACPI) - 枚举的串行端口。

devcon status @root\rdp_mou\0000

列出 Microsoft 终端服务器或终端服务鼠标驱动程序的状态。

devcon status *PNP05*

列出所有 COM 端口的状态。 

devcon update mydev.inf *pnp0501

更新与硬件 ID *pnp0501 严格匹配的所有设备,让它们使用 Mydev.inf 中与硬件 ID *pnp0501 关联的最好的驱动程序。

注意:即使系统上已经存在更好的匹配项,这一更新也将强制所有设备使用 Mydev.inf 中的驱动程序。如果在获得签名之前,您想要在开发过程中安装驱动程序的新版本,则这是很有用的。此更新仅影响与指定的硬件 ID 匹配的设备,不会影响到其子设备。如果指定的 .inf 文件未经签名,则 Windows 可能会显示一个对话框,提示您确认是否应安装此驱动程序。如果需要重新启动计算机,将报告这一情况并且 DevCon 返回一个级别 1 错误。如果指定 -r,在需要重新启动计算机时就会自动重启。

注意

·        DevCon 将返回一个在脚本中使用的错误级别:

“0”指示成功。
“1”
指示需要重新启动。
“2”
指示失败。
“3”
指示语法错误。

·        如果您指定 -r 并且需要重新启动,则在处理完所有设备后,将在无任何警告信息的情况下重新启动。

·        如果您指定 -m:\\computer 并且命令对远程计算机不起作用,将报告一个错误。

·        为便于交互,DevCon 允许在实例 ID 中使用通配符。不要根据一台计算机或一种操作系统版本去推测有关另一台计算机或另一种操作系统版本的实例 ID 格式的任何信息。

回到顶端 | 提供反馈

属性

文章编号: 311272 - 最后修改: 20071221 - 修订: 5.0

这篇文章中的信息适用于:

·        适用于 Windows 2000 Microsoft Win32 设备驱动程序工具包

·        Microsoft Windows XP 驱动程序开发工具包

·        Microsoft Windows Server 2003 Driver Development Kit

关键字: 

kbhowto kbfile KB311272

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/autumn20080101/article/details/9269889

智能推荐

秒懂POI解析excel,SAXParser解析大xlsx,XSSFReader处理包括被忽略的空单元格处理_qianggetaba的博客-程序员宝宝

秒懂POI解析excel,SAXParser解析大xlsx,XSSFReader处理包括被忽略的空单元格处理poi空单元格处理

Atitit.jsou html转换纯文本 java c# php_weixin_30369041的博客-程序员宝宝

Atitit.jsouhtml转换纯文本javac#php1.原理&lt;p&gt;&lt;h&gt;&lt;li&gt;&lt;div&gt;等lable转换为回车12.调用23.Php的实现strip_tags24.参考21.原理&lt;p&gt;&lt;h&gt;&lt;li&gt;&lt;div&gt;等lable转换为回车...

在表7中筛选出计算机或英语要补考的人,计算机会考操作题库 - 四明职业高级中学.docx..._weixin_39796752的博客-程序员宝宝

计算机会考操作题库 - 四明职业高级中学第一套WORD操作题(共30分)打开wt1.docx文档,按以下要求进行操作:序号操作说明分值1页面格式(1)纸张大小:A4纸;页边距上、下为2.5厘米,左右为3厘米。(2’)22字体格式(1)将文档的标题“引言”设置为“黑体”、“三号”、“加粗”、居中。(2’)(2)为标题文字添加“着重号”。(1’)(2)将正文设为“楷体、小四、两端对齐”。(2’)53段...

maximum performance 转换 maximum protection_cipaidao7776的博客-程序员宝宝

这部分需要添加standby redo log,添加日志相关操作请参照与DG physical DB转 snapshot DB第一部分,以下内容摘自physical DB转 snapshot DB第一部分...

Spring-Data-Redis 入门学习_diaopitian0181的博客-程序员宝宝

Spring-Data-Redis 入门学习参考文章:https://www.jianshu.com/p/4a9c2fec1079导入 redis 相关依赖&lt;dependency&gt; &lt;groupId&gt;redis.clients&lt;/groupId&gt; &lt;artifactId&gt;jedis&lt;/artifactId&...

【JavaSE】IO流-各种流整理详解(16)_高冷小伙的博客-程序员宝宝

引言????知识点总结缓冲流BufferedStream,缓冲流;也被称作高效流,因为使用起来效率很高;高效的原因与之前的流不同,它底层有个专门用来存放数据的缓冲区;就好比快递小哥送快递,之前是用电瓶车送,一次只能送一件;现在换了三轮车,可以一次性拉很多快递;这就是用空间换时间。字节缓冲流使用步骤1.创建普通的文件输入输出流(FileInputStream);2.把文件输入输出流当参数传递到缓冲流中;3.调用write/read核心方法输入输出数据4.关闭流(输出数据时要flush(

随便推点

构建cmdb的问题_weixin_34245749的博客-程序员宝宝

为什么80%的码农都做不了架构师?&gt;&gt;&gt; ...

添加github ssh授权_Reza.的博客-程序员宝宝

在一台新设备上git clone自己的仓库(尤其是私有仓库)的时候会出现如下问题:明显是因为没有登陆授权。解决办法是在github上添加当前设备的ssh公钥:github gitee 免密码登陆进行 clone pull push注意在clone的时候URL选择ssh:可以在自己的github上添加多个设备的ssh公钥,这样这些设备都无需繁琐的密码登陆·,注意如果设备的公钥更新之后要及时同步在github上update...

vue 安装stylus_JinmyHe的博客-程序员宝宝

1.npm install stylus--save2.npm install stylus-loader --save

SaltStack 水平权限绕过漏洞(CVE-2020-11651+11652)_维梓梓的博客-程序员宝宝

声明好好学习,天天向上漏洞描述SaltStack 是基于 Python 开发的一套C/S架构配置管理工具。国外某安全团队披露了 SaltStack 存在认证绕过漏洞(CVE-2020-11651)和目录遍历漏洞(CVE-2020-11652)。在 CVE-2020-11651 认证绕过漏洞中,攻击者通过构造恶意请求,可以绕过 Salt Master 的验证逻辑,调用相关未授权函数功能,从而可以造成远程命令执行漏洞。影响范围SaltStack &lt; 2019.2.4SaltStack &l

Linux-Terminal上常用的操作命令_Arthur_02_13的博客-程序员宝宝

本文列出了一些在Linux终端上使用频率比较高的一些操作命令。

SWUST OJ1044&1046顺序栈&链栈基本操作实现_saradudu的博客-程序员宝宝

题目描述编程实现顺序栈的初始化、入栈、出栈、取栈顶元素和计算栈中元素个数等基本操作。输入第一行为入栈元素的个数; 第二行依次为入栈的元素; 出栈操作的次数n.输出输出n次出栈后的栈顶元素值。如果是空栈,输出-1.样例输入41 2 3 42样例输出2#include&lt;stdio.h&gt;#include&lt;stdlib.h&gt;#define Max 100...