要传输一个I/O其扭曲给USB I/O目标,驱动程序需要做以下步骤:
l 创建一个请求或使用WDF框架提供的请求;
l 创建请求需要的存储对象和缓存;
l 格式化请求;
l 如果需要,给请求指定一个I/O完成回调函数;
l 发送请求。
WDF提供了USB特定的方法来格式化请求,发送某种类型的请求和获取完成数据。
5.1 KMDF 异步请求
要传输一个I/O其扭曲给USB I/O目标,KMDF驱动使用以下方法:
请求类型 |
传输类型 |
方法 |
端口循环供电 |
异步 |
WdfUsbTargetDeviceFormatRequestForCyclePort WdfRequestSend |
端口循环供电 |
同步 |
WdfUsbTargetDeviceCyclePortSynchronously |
设备I/O控制< |