WinUSB 简介
2021-10-15
4666
1
WinUSB是Windows从Vista操作系统版本以来,新增加的一个USB设备功能驱动程序。
使用该驱动,可以将设备变成一个自定义通讯的设备,当然该驱动也可应用于自定义设备驱动程序。
WinUSB的组成
WinUSB包括两大部分,分别为内核部分和应用层部分:
- 内核部分,主要是WinUSB.sys,该内核模式驱动程序,可以作为过滤器或功能驱动程序安装在USB设备的内核模式驱动协议栈中。
- 应用层:winusb.dll,其导出函数声名在winusb.h头文件中。当 Winusb.sys 作为设备的功能驱动程序安装时,应用程序可以使用这些功能与它进行通信。
WinUSB的版本支持
- Windows 7 在基于 x86、基于 x64 和基于 Itanium 的系统上支持 WinUSB。
- 较新版本的 Windows 在基于 x86 和基于 x64 的系统上支持 WinUSB。
- WinUSB 支持从 Windows 8 开始支持同步传输。
WinUSB驱动的使用设备栈
下图中显示了一个典型的WinUSB驱动的使用场景,它实现了三个设备接口类,每个类都有一个注册的设备接口。
- 实列1,将整个设备使用winusb进行驱动,实现设备的自定义通讯。
- 实例2,基由usbccgp.sys复合设备驱动的程序,对其接口1进行winusb驱动。
- 实例3,基由usbccgp.sys复合设备驱动的程序,对其接口0进行winusb驱动。
从上面可以可知,WinUSB不仅可以驱动整个设备,也可以将复合设备的部分功能进行驱动。这大大增加了使用winusb进行开发调试的灵活性。
HID人机交互QQ群:564808376
UAC音频QQ群:218581009
UVC相机QQ群:331552032
BOT&UASP大容量存储QQ群:258159197
STC-USB单片机QQ群:315457461
USB技术交流QQ群2:580684376
USB技术交流QQ群:952873936