zhoujiamurong
驱动小牛
驱动小牛
  • 注册日期2006-03-20
  • 最后登录2009-05-06
  • 粉丝4
  • 关注0
  • 积分1081分
  • 威望360点
  • 贡献值0点
  • 好评度215点
  • 原创分0分
  • 专家分0分
阅读:1880回复:2

请教复合设备和InterFace 以及Endpoint的对应

楼主#
更多 发布于:2008-03-01 14:11
复合设备情况如下:
USB固件部分(基本完成)
    三个InterFace,每个InterFace 都有三个EndPoint (一个Interrupt16位,一个Bulk In 64位,一个Bulk out 64位)

PC:
插上PC后,显示一个复合设备(驱动是微软的ccgp.sys),复合设备下面有三个子设备(我负责其中两个子设备的驱动编写。另外一个子设备自动调用微软驱动)

现在的问题是:
问题一:是不是一个InterFace 对应一个子设备?我在写这两个子设备的驱动的时候,如何判断是哪个EndPoint?(有没有好办法,否则我一个一个试验?)
问题二:而且我两个设备准备用一个Sys,因为类型一样,我不想写两个Sys,我在Inf文件中写两个硬件ID,用户安装两次就行.
如何切换EndPoint比较好?
这样在应用程序同时访问两个子设备的时候(因为同一个时间,只能用一个EndPoint)不会出问题。
谢谢指教!欢迎帮顶!
zhoujiamurong
驱动小牛
驱动小牛
  • 注册日期2006-03-20
  • 最后登录2009-05-06
  • 粉丝4
  • 关注0
  • 积分1081分
  • 威望360点
  • 贡献值0点
  • 好评度215点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2008-03-03 09:50
等了两天也没人理我,救命啊
zhoujiamurong
驱动小牛
驱动小牛
  • 注册日期2006-03-20
  • 最后登录2009-05-06
  • 粉丝4
  • 关注0
  • 积分1081分
  • 威望360点
  • 贡献值0点
  • 好评度215点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2008-03-03 10:18
一个接口对应一个逻辑设备.如果一个硬件有多个接口,那么这个硬件就有多个逻辑设备,这个硬件也就是复合设备.

对于每一个接口,也就是一个逻辑设备来说,需要一些端点来和上层通讯,也就是传送数据,这些端点就是endpoint.
第一个问题已经解决,嗨!
游客

返回顶部