Windows下USB驱动基础知识
+ -

USB总线FDO调用 IoInvalidateDeviceRelations通知PNP有新的设备后子设备收到的IRP

2021-06-30 527 0

在USB FDO总线驱动中,创建了子设备PDO后,调用通知PNP管理器设备树发生了变化。这时系统会重新获取子设备关系树,然后对子设备进行信息收集,并启用。具体的过程如下:

->FDO:IRP_MN_QUERY_DEVICE_RELATIONS

    PDO:IRP_MN_QUERY_ID

    PDO:IRP_MN_QUERY_CAPABILITIES

    PDO:IRP_MN_QUERY_INTERFACE

    PDO:IRP_MN_QUERY_DEVICE_TEXT

    PDO:IRP_MN_QUERY_DEVICE_TEXT

    PDO:IRP_MN_QUERY_ID

    PDO:IRP_MN_QUERY_ID

    PDO:IRP_MN_QUERY_ID

    PDO:IRP_MN_QUERY_ID

    PDO:IRP_MN_QUERY_INTERFACE

    PDO:IRP_MN_QUERY_BUS_INFORMATION

    PDO:IRP_MN_QUERY_INTERFACE

    PDO:IRP_MN_QUERY_RESOURCE_REQUIREMENTS

    PDO:IRP_MN_QUERY_RESOURCES

    PDO:IRP_MN_19

    PDO:IRP_MN_QUERY_INTERFACE

    PDO:IRP_MN_QUERY_INTERFACE

    PDO:IRP_MN_QUERY_INTERFACE

    PDO:IRP_MN_18

    PDO:IRP_MN_QUERY_RESOURCE_REQUIREMENTS

    PDO:IRP_MN_FILTER_RESOURCE_REQUIREMENTS

    PDO:IRP_MN_START_DEVICE

    PDO:IRP_MN_QUERY_INTERFACE

    PDO:IRP_MN_QUERY_INTERFACE

    PDO:IRP_MN_QUERY_CAPABILITIES

    PDO:IRP_MN_QUERY_CAPABILITIES

    PDO:IRP_MN_QUERY_PNP_DEVICE_STATE

    PDO:IRP_MN_QUERY_DEVICE_RELATIONS

    PDO:IRP_MN_QUERY_ID

    PDO:IRP_MN_QUERY_INTERFACE

    PDO:IRP_MN_QUERY_ID

    PDO:IRP_MN_QUERY_INTERFACE

    PDO:IRP_MN_QUERY_INTERFACE

    PDO:IRP_MN_QUERY_INTERFACE

    PDO:IRP_MN_QUERY_INTERFACE

    PDO:IRP_MN_QUERY_INTERFACE

    PDO:IRP_MN_QUERY_INTERFACE

    PDO:IRP_MN_QUERY_ID

    PDO:IRP_MN_QUERY_INTERFACE

    PDO:IRP_MN_QUERY_ID

    PDO:IRP_MN_QUERY_INTERFACE

    PDO:IRP_MN_QUERY_INTERFACE

    PDO:IRP_MN_QUERY_ID

    PDO:IRP_MN_QUERY_INTERFACE

    PDO:IRP_MN_QUERY_ID

    PDO:IRP_MN_QUERY_INTERFACE

    PDO:IRP_MN_QUERY_INTERFACE

    PDO:IRP_MN_QUERY_INTERFACE

    PDO:IRP_MN_QUERY_INTERFACE

    PDO:IRP_MN_QUERY_ID

    PDO:IRP_MN_QUERY_ID

    PDO:IRP_MN_QUERY_DEVICE_RELATIONS

    PDO:IRP_MN_QUERY_ID

    PDO:IRP_MN_QUERY_INTERFACE

    PDO:IRP_MN_QUERY_ID

    PDO:IRP_MN_QUERY_INTERFACE

    PDO:IRP_MN_QUERY_INTERFACE

    PDO:IRP_MN_QUERY_INTERFACE

    PDO:IRP_MN_QUERY_INTERFACE

    PDO:IRP_MN_QUERY_INTERFACE

    PDO:IRP_MN_QUERY_INTERFACE

    PDO:IRP_MN_QUERY_INTERFACE

    PDO:IRP_MN_QUERY_INTERFACE

通过设备管理器卸载设备

    PDO:IRP_MN_QUERY_DEVICE_RELATIONS

    PDO:IRP_MN_QUERY_REMOVE_DEVICE

    PDO:IRP_MN_REMOVE_DEVICE

->FDO:IRP_MN_QUERY_DEVICE_RELATIONS

->FDO:IRP_MN_QUERY_REMOVE_DEVICE

    PDO:IRP_MN_REMOVE_DEVICE

->FDO:IRP_MN_REMOVE_DEVICE

通过IoInvalidateDeviceRelations卸载子设备

->FDO:IRP_MN_QUERY_DEVICE_RELATIONS

    PDO:IRP_MN_QUERY_DEVICE_RELATIONS

    PDO:IRP_MN_QUERY_DEVICE_RELATIONS

    PDO:IRP_MN_SURPRISE_REMOVAL

    PDO:IRP_MN_REMOVE_DEVICE
HID人机交互QQ群:564808376    UAC音频QQ群:218581009    UVC相机QQ群:331552032    BOT&UASP大容量存储QQ群:258159197    STC-USB单片机QQ群:315457461    USB技术交流QQ群2:580684376    USB技术交流QQ群:952873936   

0 篇笔记 写笔记

USB3.2超高速兼容USB2.0数据收发的双总线架构
超高速USB体系和以前的USB版本的功能一致,都是通过USB线缆将USB主机USB外设相连,进行数据交互的。所与连接到该条USB总线上的所有设备在主机控制器协调下,共享带宽。USB总线允许外部设备被接入(attached),配置,使用或移除。USB3.2是双总线架构,其中一条总线用于向后兼容USB2......
USB与其它总线相比的优点是什么
USB 的设备可以接在 PC 上的任意的 USB 接口上. 而使用 Hub 还可以扩展使更多的USB设备连接到系统中 USB的Hub 有一个上行的端口(到host) 有多个的下行端口(连接其它的设备). 从而可以使整个的系统可以扩展的连接 127 个外设. 其中 Hub 也算外设.对于US 系统来说......
USB数据在总线上的发送顺序
在USB规范中,明确定义了数据是按LSB到MSB即从低字节位到高字节位的顺序发送的。LSB:least-significant bit - 最低有效位MSB:mostsignificant bit - 最高有效位标准描述符、请求和响应中的多个字节字段被解释为以小端点顺序在总线上移动,即LSB到MSB......
USB总线的物理结构及设备分类
USB物理体系如图所示,它的根结点为USB主控制器,由USB主控制器实现USB根HUB(根集线器),通过根HUB,可以外接USB设备和USB HUB(集线器)进行USB接口的扩展。USB根集线器(ROOT HUB)PC主机一般含有一个或多个根线器。在主机启动时在它的内部总线上查找这个根集线器。U......
USB4总线验证子系统IP核(基于Synopsys)
USB4是下一代的通用串行总线规范,其主要的改变在于数据传输速度和多总线复用功能。在新一代的USB4规范中,其不仅整合了Thunderbolt 3功能,也扩展支持到PCIE接口,当然这些总线的接口都是通过一个小小的USB TYPE-C接口来连接。USB4的另一个重大突破是其最高的数据传输速度从20 ......
USB3.2超高速的设备总线枚举
USB3.2超高速定义了7种设备状态,比以往多了一个错误状态。USB的设备状态图代表着从USB设备的状态转换过程。要进行状态转换,当然必须是先将USB设备插入到USB接口中,这个USB接口可以是USB集线接口,也可以是根集线器的接口。当USB设备插入USB接口后,USB设备进入Attached状态。......
IRP_MN_QUERY_CAPABILITIES和IRP_MN_QUERY_INTERFACE在USB总线驱动中的作用
在USB驱动总线开发中,IRP_MN_QUERY_BUS_INFORMATION和IRP_MN_QUERY_INTERFACE还挺重要的。对于HID设备,这两个IRP其实只要支持IRP_MN_QUERY_CAPABILITIES就行,而且这个CAPABILITIES不要额外的信息。但对于像UVC,......
USB总线FDO调用 IoInvalidateDeviceRelations通知PNP有新的设备后子设备收到的IRP
在USB FDO总线驱动中,创建了子设备PDO后,调用通知PNP管理器设备树发生了变化。这时系统会重新获取子设备关系树,然后对子设备进行信息收集,并启用。具体的过程如下:->FDO:IRP_MN_QUERY_DEVICE_RELATIONS PDO:IRP_MN_QUERY_ID......
USBCCGP 总线过滤驱动接口
总线驱动或过滤驱动的接口其实就是一个USBC_DEVICE_CONFIGURATION_INTERFACE_V1的结构体,其用于创建PDO.#define USBC_DEVICE_CONFIGURATION_INTERFACE_VERSION_1 0x0001typedef s......
lecro力科USB总线分析仪
网址:https://teledynelecroy.com/protocolanalyzer/usbThe introduction of USB 3.2 and USB4 along with the Type-C connector ushers in a new era of unprec......
USB总线分析仪 USB Packet Viewer
说明USB Packet Viewer是一款便携式USB协议分析仪,能够捕捉USB通讯的底层数据包以及总线事件。站长手中有一款USB Packet Viewer产品,讲道理这是一款性价比超高的工具,只有几百块钱的价格(可以说是市面上同类产品的最低价),但确达到了惊人的抓包解析效果。最难能可贵的......
沁恒 USB1.1总线分析仪
参考价:¥599.00淘宝购买地址:https://item.taobao.com/item.htm?id=569868173162产品介绍 USB1.1总线分析仪(WCHUMT11)是 一种多用途的USB产品开发和测试工具,主要 USBMonitor 用于捕获USB总线(UniversalSer......
一款用于构建、分析和破解USB设备的开源、多功能工具LUNA
这是众筹网站CrowSupply上发布的一个新的众筹项目,设计文件已经上线众筹并设计文件开源。项目链接:https://www.crowdsupply.com/great-scott-gadgets/lunaLUNA是一个完整的工具包,使用FPGA技术与USB工作;并提供硬件、网关和软件来启用......
USB Packet Viewer 简介
USB Packet Viewer是一款便携式USB协议分析仪,能够捕捉USB通讯的底层数据包以及总线事件。它由USB 数据包抓包设备和配套的协议解析软件组成,能够对 USB 通讯数据进行可视化分析。更多的详细介绍可见:http://www.usbzh.com/article/detail-74......
Teams UCQ字符串描述符
UCQ描述符全称Unified Communications Qualification (UCQ) descriptor。是由 telephony HID device发向商用Skype一组字段,用于表明设备支持的功能。要求:设备应支持UCQ描述符,以告知Skype for Business其独......
关注公众号
  • HID人机交互
  • Linux&USB
  • UAC音频
  • TYPE-C
  • USB规范
  • USB大容量存储
  • USB百科
  • USB周边
  • UVC摄像头
  • Windows系统USB
  • 音视频博客
  • 取消
    感谢您的支持,我会继续努力的!
    扫码支持
    扫码打赏,你说多少就多少

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

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