阅读:1518回复:6
在不安装驱动程序的情况下,如何实现应用程序与USB指定的某个端点进行数据传输?(给40分)
在不安装驱动程序的情况下,如何实现应用程序与USB指定的某个端点进行数据传输?
已知USB设备固件内的多个端点通道已开通,也就是固件是OK的. 我试过用CreateFile函数 + "\\通道号",也许是因为还没有设定端点名的关系,每次打开的都是默认的首个通道ENDPOINT1. 当我为其用driverstudio简易写上驱动程序时,可以指定一个BULK输入端点和一个输出端点,但我的应用程序要用到其多个输入输出端点,不知各位高手有没办法? |
|
沙发#
发布于:2005-01-14 17:01
楼上说的方法太复杂了.
感谢各位高手的指教! 给分结案了! |
|
板凳#
发布于:2005-01-14 16:31
大概明白你的意思。
不安装驱动,它怎么能让设备工作。除非你有现成的驱动,象HID设备,是系统已做好了相应的驱动。 你要用现成的驱动,它和EP1通信,但你的设备还有EP2,你要想和它通信。是这样吧。 我提供你一个思路:你把设备做成一个复合设备,用现有的驱动访问设备一,再考虑能否用EP2做同样的设备。 |
|
|
地板#
发布于:2005-01-13 21:38
如果现有的驱动程序没有提供访问某端点的方法,恐怕你不能与其通讯,如果提供了,得看驱动设计者给出的说明文档,否则靠猜和试,可能是事百倍而工百之一。
WINDOWS的USBDI只提供内核级访问,不使用驱动程序,用户程序也不能直接操作USB硬件。 |
|
地下室#
发布于:2005-01-13 19:22
希望各位高手不吝赐教!!!!!!!!!!!!!!!!!
|
|
5楼#
发布于:2005-01-13 07:53
问题是驱动程序要用原有的,不能改动;或不按装驱动程序的情况下要进行指定端点访问,有什么更好的办法?
|
|
6楼#
发布于:2005-01-12 22:33
驱动程序里你想有几个输入输出端点都是可以的,当然要有硬件支持。不会像你说的只有bulk输入输出端点。。一种简单的方法是在驱动里提供DeviceIoControl给应用程序,通过定义自己的IOCTL CODE来实现,你想用哪个端口就用哪个端口,呵呵。。。
|
|