控制管道消息用来控制一个USB设备。这些消息包括标准请求,例如GET_DESCRIPTOR和SET_CONFIGURATION。命令经由默认管道发送,报告信息也经由默认管道返回给主机。如果产生了一个错误,它会产生一个标准的USB错误状态。 CCID模型在中断管道处理异步事件。ICC在线,ICC移除或者硬件错误比如电流太大,这些经由这个管道送出。 中断管道对于一个支持ICC插入/移除的CCID是强制的。对于一个只插入没有移除的ICC是可选的。 CCID命令经由BULK-OUT端点发出。每个发送给CCID的命令都有一个相应的响应。一些命令也有过程响应。这些响应从BULK-IN端点发送。 所有发送给指定CCID槽位的命令都必须同步发送。一个指定的槽位同时只能接受一条命令。如果一个槽位准备好接受一个新命令那么就认为它是空闲的。 CCID在与主机的底层交互的dwFeatures字段声明TPDU、APDU(短或扩展)或者字符。 当USB总线挂起时,CCIDs不要求掉电插入的ICCs,但是可以这样做。然而,当USB总线恢复后,CCIDs必须响应给主机好像所有的已经插入的ICCs都掉电并被新插入。 这个值是下面值的按位与:00000000h – 没有直到那个的特性00000001h – 卡接受机制 个人较少接触HID、SCSI设备相关方向的通信,近期接触到几个这类项目,完成后写点体会,个人观点,如果有误,敬请:1、HID设备通信 代码开始都是从列举HID设备开始的,中间应用函数FilterDeviceHID(hKey)来过滤掉不符合条件的HID设备,过滤条件是通过HID设备的PIDVID值比较,废话不多说,代码贴上,但只是部分代码,我的项目是MFC工程,条件有限:...东哥格格
|