devcon工具使用
+ -

DevCon Stack命令

2022-01-28 169 0

显示指定设备的预期驱动程序堆栈,以及每个设备的设备安装程序类的 GUID 和名称。 在本地和远程计算机上有效

在指定的远程计算机上运行命令。 必须使用反斜杠。

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

命令格式

devcon [/m:\\computer] resources {* | ID [ID ...] | =class [ID [ID...]]}

* 表示计算机上的所有设备。
ID 指定设备的所有或部分硬件 ID、兼容 ID 或设备实例 ID。 指定多个 ID 时,在每个 ID 之间键入一个空格。 包含字符和字符的(&) 必须用引号引起来。

以下特殊字符修改 ID 参数。

字符 说明
匹配任何字符或无字符。 使用通配符 () 创建 ID 模式,例如磁盘。
@ 指示设备实例 ID,例如 @ROOT\FTDISK\0000 。
‘(单引号) 与字符串在字面上 (与字符串在文本) 。 在字符串前加单引号以指示星号是 ID 名称的一部分,而不是通配符,例如 “*PNP0600”,其中*PNP0600 (包括星号) 是硬件 ID。
= class 指定设备的设备类。 =字符串标识为类名。

还可以在类名后指定硬件 ID、兼容的 ID、设备实例 ID 或 ID 模式。 在每个 ID 或模式之间键入空格。 DevCon 在 类中查找与指定 ID 匹配的设备。

使用方法

devcon /m:\\Server01 stack * > Server01Stack.txt
devcon stack ISAPNP\ReadDataPort
devcon /m:\\Server01 stack pci*
devcon stack =multifunction

使用示例

devcon.exe stack @"PCI\VEN_8086&DEV_A12F&SUBSYS_72708086&REV_31\3&11583659&0&A0"

输出为:

PCI\VEN_8086&DEV_A12F&SUBSYS_72708086&REV_31\3&11583659&0&A0
    Name: Intel(R) USB 3.0 eXtensible Host Controller - 1.0 (Microsoft)
    Setup Class: {36fc9e60-c465-11cf-8056-444553540000} USB
    Upper class filters:
        bhound7
    Controlling service:
        USBXHCI
1 matching device(s) found.

设备管理器中的驱动栈
devcon.exe stack

0 篇笔记 写笔记

IoCopyCurrentIrpStackLocationToNext和IoSkipCurrentIrpStackLocation操作的IO_STACK_LOCATION有什么区别
在Windows驱动中,传递IPR一般有两种操作:一种是调用IoSkipCurrentIrpStackLocation,表示跳过本层驱动的操作,直接转发至下层: IoSkipCurrentIrpStackLocation(Irp); return IoCallDriver(FDODeviceEx......
WDDM 子设备的枚举过程
这里的子设备指的是显示适配器(display adapter)的子设备。显示适配器子设备的枚举是通过显示端口驱动程序(display port driver), 显示Mini端口驱动程序(display miniport driver), and video present network (Vi......
IRP完成与IO_STACK_LOCATION
IRP与IO_STACK_LOCATION的关系IPR完成时,有时为了获取数据,我们经常要这样干 IoCopyCurrentIrpStackLocationToNext(Irp); IoSetCompletionRoutine( Irp, Comple......
PortClass音频驱动程序架构
音频适配器驱动程序是最低层的音频驱动,对下实现对硬件的操作,以上提供端口驱动的函数回调。所以音频适配器驱动的代码来自两部分,一部分是厂商提供的硬件驱动代码,一般是由portclass提供的通用音频驱动模块。入口函数因为适配器驱动程序是作为内核模式驱动程序服务安装的,所以和其它驱动一样,由操作系统加......
Windows驱动设备栈
1.栈结构设备栈(Device Stack)结构与内存中的栈类似,但是 device stack 中的 entry 由 device object 中的 AttachedDevice 值的连接。并且由每个 device 的 DeviceExtension.AttachedTo 值指向下一层的 de......
DevCon Stack命令
显示指定设备的预期驱动程序堆栈,以及每个设备的设备安装程序类的 GUID 和名称。 在本地和远程计算机上有效在指定的远程计算机上运行命令。 必须使用反斜杠。注意 若要在远程计算机上运行 DevCon 命令,组策略设置必须允许即插即用服务在远程计算机上运行。 在运行 Windows Vista 和......
WDF驱动程序模型
WDF驱动程序模型定义了一个面向对象的事件驱动环境,在这个环境中,驱动程序代码管理特定于设备的功能,而在发生会影响设备操作的事件时,微软公司提供的一个框架则会调用驱动程序进行响应。驱动程序模型包含以下内容。KMDF和UMDF都要实现的一个对象模型。KMDF和UMDF都使用的一个即插即用和电源管......
WDF WMI请求(仅限内核模式驱动程序
WMI(WindowsManagementInstrumentation)请求触发驱动程序为当前所有WMI事件所注册的回调。在WMI回调中,驱动程序可能会调用设备对象的WIM方法来创建和操纵WMI实例,以WMI提供程序的形式改变它的状态。在WIM回调返回之后,框架代替驱动程序根据具体情况完成或转发请......
WDF 驱动程序架构
WDF内核驱动程序架构对于内核模式驱动程序,KMDF不会替代WDM,而是提供了一个框架性的WDM实现。驱动程序开发人员通过创建对象并提供基于事件的回调例程,配置框架驱动程序从而在特定设备上使用。 KMDF是一个可以重入的库,可以在多个驱动程序之间共享。驱动程序在加载的时候与这个库动态绑定,可以同时......
KMDF驱动程序结构
KMDF驱动程序包含DriverEntry函数(根据KMDF标识驱动程序)、 KMF调用的一系列回调函数(以便驱动程序能够对影响其设备的事件做出响应),以及驱动程序特有的其他实用函数。几乎每种KMDF驱动程序均必须具备下列函数。DriverEntry函数,表示驱动程序的主要入口点。EvtDriv......
Windbg !devstack命令
!devstack命令用于显示设备栈不过这里只是以FDO为中心的所有USB设备信息。。更多详见官网地址:https://docs.microsoft.com/zh-cn/windows-hardware/drivers/debugger/-devstack DbgPrint("......
IRP调用IoSkipCurrentIrpStackLocation与IoCopyCurrentIrpStackLocationToNext的区别
当IPR需要传递给下层设备时,一般的操作有两种。第一种是直接下传: IoCopyCurrentIrpStackLocationToNext(irp); status = IoCallDriver(parentFdoExt->fdo, irp);这种情况下是保留当前驱动栈对该IRP的IO_......
寒江独钓串口过滤驱动程序源代码
comcap_tst.c////// @file comcap_tst.c/// @author crazy_chu/// @date 2008-6-20/// #ifndef _COMCAP_TST_HEADER_#define _COMCAP_......
驱动程序和应用程序间共享内存
译自:The NT Insider November-December 2007 Volume 14 Issue 4译者:lioqio[编辑提示:《The NT Insider》将陆续对以前文章进行维护修正,以便确认这些文章针对Windows的大多数当前版本是正确的,并且反映了最好的工程实践。这篇文......
Win11怎么禁用驱动程序强制签名? 关闭Win11驱动强制签名的技巧
什么是驱动程序签名驱动程序签名又叫做驱动程序的数字签名,它是由微软的Windows硬件设备质量实验室完成的。硬件开发商将自己的硬件设备和相应的驱动程序交给该实验室,由实验室对其进行测试,测试合格后实验室将在其驱动程序中添加数字签名。由于数字签名是由微软完成的。Win11设备只有安装了驱动才能正常使......
作者信息
我爱内核
Windows驱动开发,网站开发
好好学习,天天向上。
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

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

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