6、 UsbTool模块命令
usbTool:入口命令
UsbInit:初始化USBD
Attach uhci:连接HCD
UsbEnum:枚举连接到系统的USB设备
7、 USB安装流程
配置Host Stack
配置Host Controller
配置usbTool
配置设备Device
8、设备驱动程序组成
设备的注销和注册
usbdClientRegister
usbdClientUnregister
回调任务
Callback tUsbdCln
设备连接,创建控制管道
然后创建usbdPipeCreate
获取描述符usbdDescriptorGet
获取特性usbdFeatureGet
设备动态注册
UsbdDynamicAttachRegister
数据传输
创建管道
usbdPipeCreate
定义回调函数
初始化IRP
发送IRP usbdTransfer
9、 USB鼠标驱动程序分析
usbMouseDevInit函数初始化USB鼠标设备
首先检查有没有重复创建设备
调用usbdClientRegister函数注册USB设备驱动程序
调用usbdDynamicAttachRegister函数动态连接USB设备到USBD上
usbMouseDevShutdown函数关闭USB鼠标设备
调用destroyAttachRequest函数处理已经发出的针对本设备的请求