【usb】windows usb驱动框架简介

一、Host端架构图总揽

二、关键模块介绍

USB通用类泛型父驱动程序(Usbccgp.sys)

  • 复合设备的父驱动程序。 如果 deviceClass 为 0 或 0xef,并且设备描述符中的 numInterfaces 大于 1,则中心驱动程序会枚举并加载父复合驱动程序。
  • 父复合驱动程序枚举复合设备中的所有函数,并为每个函数创建 PDO。 这会导致为设备中的每个函数加载适当的类或客户端驱动程序。 每个函数驱动程序 (子 PDO) 向父驱动程序发送请求,这会将请求提交到 USB 中心驱动程序。

WinUSB (Winusb.sys)

  • Windows USB (WinUSB) 是适用于 USB 设备的 Microsoft 提供的通用驱动程序。 WinUSB 体系结构由内核模式驱动程序 (Winusb.sys) 和用户模式动态链接库 (Winusb.dll) 组成。 对于不需要自定义函数驱动程序的设备,可将Winusb.sys作为函数驱动程序安装在设备的内核模式堆栈中。 然后,用户模式进程可以使用一组设备 I/O 控制请求或通过调用WinUsb_Xxx函数来与 Winusb.sys 通信。

USB 客户端驱动程序

  • 复合设备的客户端驱动程序与非复合设备的客户端驱动程序不同,驱动程序堆栈中的位置除外。
  • 非复合设备的客户端驱动程序直接分层在中心驱动程序上方。
相关推荐
Counter-Strike大牛15 分钟前
SpringBoot中使用POI+EasyExcel批量导出主子表信息,以箱单为例
windows·spring boot·后端
恒创科技HK22 分钟前
Windows香港云服务器新开注意事项(含远程连接教程)
运维·服务器·windows
快乐的划水a24 分钟前
单片机仿Linux驱动开发(一)
linux·驱动开发·单片机
实在太懒于是不想取名38 分钟前
STM32N6的开发日记(5):数字摄像头接口像素流水线DCMIPP让MCU拥有高性能摄像头资源
stm32·单片机·嵌入式硬件
天涯铭1 小时前
深入浅出:单片机I/O模式与上拉电阻
单片机·上拉电阻·gpio输出
zzb15801 小时前
「Kotlin 泛型深度图解:从入门到实战 + 委托框架揭秘」
开发语言·windows·kotlin
私人珍藏库1 小时前
[Windows] 360ChromeX(360极速浏览器X)_vv23.1.1216.64 便携版
windows·工具·软件·win·多功能
iCxhust1 小时前
8088汇编测试程序 (MASM/TASM) — 显示 “HELLO 8088!“ + “LCD1602 OK“
汇编·单片机·嵌入式硬件·51单片机·微机原理
深念Y1 小时前
Docker Windows C盘爆满迁移到D盘:完整试错与成功路径
windows·docker·wsl·镜像·清理·迁移·c盘
Bryce_Zhou1 小时前
STM32U5A9J-DK 介绍
stm32·单片机·嵌入式硬件