驱动小牛
|
阅读:1880回复:2
请教复合设备和InterFace 以及Endpoint的对应
复合设备情况如下:
USB固件部分(基本完成) 三个InterFace,每个InterFace 都有三个EndPoint (一个Interrupt16位,一个Bulk In 64位,一个Bulk out 64位) PC: 插上PC后,显示一个复合设备(驱动是微软的ccgp.sys),复合设备下面有三个子设备(我负责其中两个子设备的驱动编写。另外一个子设备自动调用微软驱动) 现在的问题是: 问题一:是不是一个InterFace 对应一个子设备?我在写这两个子设备的驱动的时候,如何判断是哪个EndPoint?(有没有好办法,否则我一个一个试验?) 问题二:而且我两个设备准备用一个Sys,因为类型一样,我不想写两个Sys,我在Inf文件中写两个硬件ID,用户安装两次就行. 如何切换EndPoint比较好? 这样在应用程序同时访问两个子设备的时候(因为同一个时间,只能用一个EndPoint)不会出问题。 谢谢指教!欢迎帮顶! |
驱动小牛
|
沙发#
发布于:2008-03-03 09:50
等了两天也没人理我,救命啊
|
驱动小牛
|
板凳#
发布于:2008-03-03 10:18
一个接口对应一个逻辑设备.如果一个硬件有多个接口,那么这个硬件就有多个逻辑设备,这个硬件也就是复合设备.
对于每一个接口,也就是一个逻辑设备来说,需要一些端点来和上层通讯,也就是传送数据,这些端点就是endpoint. 第一个问题已经解决,嗨! |