hero_xue
驱动牛犊
驱动牛犊
  • 注册日期2004-11-15
  • 最后登录2005-02-14
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1517回复:6

在不安装驱动程序的情况下,如何实现应用程序与USB指定的某个端点进行数据传输?(给40分)

楼主#
更多 发布于:2005-01-12 19:31
在不安装驱动程序的情况下,如何实现应用程序与USB指定的某个端点进行数据传输?

已知USB设备固件内的多个端点通道已开通,也就是固件是OK的.

我试过用CreateFile函数 + "\\通道号",也许是因为还没有设定端点名的关系,每次打开的都是默认的首个通道ENDPOINT1.

当我为其用driverstudio简易写上驱动程序时,可以指定一个BULK输入端点和一个输出端点,但我的应用程序要用到其多个输入输出端点,不知各位高手有没办法?

Shentu
驱动小牛
驱动小牛
  • 注册日期2004-04-05
  • 最后登录2011-01-24
  • 粉丝0
  • 关注0
  • 积分234分
  • 威望24点
  • 贡献值0点
  • 好评度20点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-01-12 22:33
驱动程序里你想有几个输入输出端点都是可以的,当然要有硬件支持。不会像你说的只有bulk输入输出端点。。一种简单的方法是在驱动里提供DeviceIoControl给应用程序,通过定义自己的IOCTL CODE来实现,你想用哪个端口就用哪个端口,呵呵。。。
hero_xue
驱动牛犊
驱动牛犊
  • 注册日期2004-11-15
  • 最后登录2005-02-14
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-01-13 07:53
问题是驱动程序要用原有的,不能改动;或不按装驱动程序的情况下要进行指定端点访问,有什么更好的办法?
hero_xue
驱动牛犊
驱动牛犊
  • 注册日期2004-11-15
  • 最后登录2005-02-14
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2005-01-13 19:22
希望各位高手不吝赐教!!!!!!!!!!!!!!!!!
zbcxw
驱动牛犊
驱动牛犊
  • 注册日期2003-02-06
  • 最后登录2005-10-05
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2005-01-13 21:38
    如果现有的驱动程序没有提供访问某端点的方法,恐怕你不能与其通讯,如果提供了,得看驱动设计者给出的说明文档,否则靠猜和试,可能是事百倍而工百之一。
    WINDOWS的USBDI只提供内核级访问,不使用驱动程序,用户程序也不能直接操作USB硬件。
lejianz
驱动中牛
驱动中牛
  • 注册日期2003-03-05
  • 最后登录2023-11-15
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望145点
  • 贡献值0点
  • 好评度116点
  • 原创分0分
  • 专家分0分
  • 社区居民
5楼#
发布于:2005-01-14 16:31
大概明白你的意思。

不安装驱动,它怎么能让设备工作。除非你有现成的驱动,象HID设备,是系统已做好了相应的驱动。

你要用现成的驱动,它和EP1通信,但你的设备还有EP2,你要想和它通信。是这样吧。

我提供你一个思路:你把设备做成一个复合设备,用现有的驱动访问设备一,再考虑能否用EP2做同样的设备。
一起交流,共同提高!
hero_xue
驱动牛犊
驱动牛犊
  • 注册日期2004-11-15
  • 最后登录2005-02-14
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2005-01-14 17:01
楼上说的方法太复杂了.
感谢各位高手的指教! 给分结案了!
游客

返回顶部