kilroy_guo
驱动大牛
驱动大牛
  • 注册日期2002-10-29
  • 最后登录2005-11-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1941回复:15

这样的bulk的read方式,可行么?

楼主#
更多 发布于:2003-05-28 10:13
请教一下,在设备驱动程序里面,ISO方式下我可以设置内部Urb完成例程,并在例程里面重发这个URB,bulk的方式也可以用这种行为么?有没有兄弟这样干过? :D
二姑家的猫想......
Always!978
驱动小牛
驱动小牛
  • 注册日期2002-05-09
  • 最后登录2005-04-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-05-28 10:17
  你说的是buildbulktransfer,然后submiturb么?
Tomorrow Never Die
kilroy_guo
驱动大牛
驱动大牛
  • 注册日期2002-10-29
  • 最后登录2005-11-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-05-28 10:39
我的意思是递交urb之后,在这个irp完成例程里面再次重用、递交这个urb。看了cypress驱动代码,没有发现有这样做的,我自己乱想的,不知道可不可行

“你说的是buildbulktransfer,然后submiturb么?”
这是ds的函数吧,我想它应该是递交一次后,就结束了,它没有设置完成例程,这样的话需要app层不停的调用deviceioctrl
二姑家的猫想......
Always!978
驱动小牛
驱动小牛
  • 注册日期2002-05-09
  • 最后登录2005-04-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-05-28 10:46
我的意思是递交urb之后,在这个irp完成例程里面再次重用、递交这个urb。看了cypress驱动代码,没有发现有这样做的,我自己乱想的,不知道可不可行

“你说的是buildbulktransfer,然后submiturb么?”
这是ds的函数吧,我想它应该是递交一次后,就结束了,它没有设置完成例程,这样的话需要app层不停的调用deviceioctrl

对,是ds的函数,submiturb也可以设置一个完成例程,你是说在他的完成例程中再次提交urb?
Tomorrow Never Die
kilroy_guo
驱动大牛
驱动大牛
  • 注册日期2002-10-29
  • 最后登录2005-11-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-05-28 10:51
yes!!!

这样做的方式就和iso的一样了!!!可行么? :D
二姑家的猫想......
kilroy_guo
驱动大牛
驱动大牛
  • 注册日期2002-10-29
  • 最后登录2005-11-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-05-28 11:00
忙里偷闲,看了一下帮助发现了关于C:\\NTDDK\\src\\wdm\\usb\\bulkusb\\sys例子的一段说明
“A USB minidriver communicates with the USB stack through an IRP interface. There are two basic methods and both are used by Bulkusb.sys:

The USB minidriver device driver passes USB request block (URB) structures to the next-lower driver as a parameter in an IRP with MajorFunction set to IRP_MJ_INTERNAL_DEVICE_CONTROL and the next IRP stack location Parameters.DeviceIoControl.IoControlCode field set to IOCTL_INTERNAL_USB_SUBMIT_URB.


The USB minidriver device driver passes an IRP with MajorFunction set to IRP_MJ_INTERNAL_DEVICE_CONTROL and the next IRP stack location Parameters.DeviceIoControl.IoControlCode field set to one of the IOCTL_INTERNAL_USB_ other function codes.”

第二种方法就是我想要的,嘿嘿,我要去看这个Bulkusb.sys,有兴趣的同去,说不定可以提高bulk的速度,不可不看 :D :D :D
二姑家的猫想......
kilroy_guo
驱动大牛
驱动大牛
  • 注册日期2002-10-29
  • 最后登录2005-11-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-05-28 11:46
忙里偷闲,看了一下帮助发现了关于C:\\NTDDK\\src\\wdm\\usb\\bulkusb\\sys例子的一段说明
“A USB minidriver communicates with the USB stack through an IRP interface. There are two basic methods and both are used by Bulkusb.sys:

The USB minidriver device driver passes USB request block (URB) structures to the next-lower driver as a parameter in an IRP with MajorFunction set to IRP_MJ_INTERNAL_DEVICE_CONTROL and the next IRP stack location Parameters.DeviceIoControl.IoControlCode field set to IOCTL_INTERNAL_USB_SUBMIT_URB.


The USB minidriver device driver passes an IRP with MajorFunction set to IRP_MJ_INTERNAL_DEVICE_CONTROL and the next IRP stack location Parameters.DeviceIoControl.IoControlCode field set to one of the IOCTL_INTERNAL_USB_ other function codes.”

第二种方法就是我想要的,嘿嘿,我要去看这个Bulkusb.sys,有兴趣的同去,说不定可以提高bulk的速度,不可不看 :D :D :D


英文太差,理解错误,不是我想要的,我想要的是第一种的改进,对不起大家了,赔礼道歉! :( :( :(
二姑家的猫想......
kilroy_guo
驱动大牛
驱动大牛
  • 注册日期2002-10-29
  • 最后登录2005-11-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2003-05-28 14:27
我用这种方法的目的是,在2.0下面想用bulk传输方式替代iso来接收适时的高速数据
二姑家的猫想......
flycat0101
驱动小牛
驱动小牛
  • 注册日期2002-06-24
  • 最后登录2018-05-29
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望22点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
  • 社区居民
8楼#
发布于:2003-05-28 16:05
》我用这种方法的目的是,在2.0下面想用bulk传输方式替代iso来接收适时的高速数据

我怀疑不能实现吧,Bulk方式下,usb是不保证带宽的,如果没有带宽,不管怎么重发数据,也不能保证实时
我思,故我在
kilroy_guo
驱动大牛
驱动大牛
  • 注册日期2002-10-29
  • 最后登录2005-11-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2003-05-28 16:15
》我用这种方法的目的是,在2.0下面想用bulk传输方式替代iso来接收适时的高速数据

我怀疑不能实现吧,Bulk方式下,usb是不保证带宽的,如果没有带宽,不管怎么重发数据,也不能保证实时


这个我也是很忧虑,不过我只是用一个usb设备,只有一个bulk in端点,带宽问题不知道会怎么样?
那位大虾能够列出影响bulk带宽不足的主要几个因素么?谢谢!
(有20分两用之嫌) :D :D :D

来者有分!
二姑家的猫想......
kilroy_guo
驱动大牛
驱动大牛
  • 注册日期2002-10-29
  • 最后登录2005-11-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2003-05-28 16:17
为求发贴数达100,灌水一次。
板主,灌自己的水,警告就可以了,不会删了吧 :D
二姑家的猫想......
kilroy_guo
驱动大牛
驱动大牛
  • 注册日期2002-10-29
  • 最后登录2005-11-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2003-05-29 11:43
给分&顶
二姑家的猫想......
Always!978
驱动小牛
驱动小牛
  • 注册日期2002-05-09
  • 最后登录2005-04-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2003-05-29 14:39
给分&顶

捡了6分,哦活活活
Tomorrow Never Die
lidf
驱动牛犊
驱动牛犊
  • 注册日期2001-04-24
  • 最后登录2010-10-24
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2003-10-04 15:14
强顶,快给分!
===========================
我也提同样的问题。
cisc
free_man_free
驱动小牛
驱动小牛
  • 注册日期2003-08-19
  • 最后登录2005-04-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2003-10-05 13:54
强顶,快给分! :D :D :D
zzq191
驱动中牛
驱动中牛
  • 注册日期2001-08-09
  • 最后登录2018-05-29
  • 粉丝17
  • 关注0
  • 积分1041分
  • 威望716点
  • 贡献值0点
  • 好评度318点
  • 原创分0分
  • 专家分0分
  • 社区居民
15楼#
发布于:2004-07-27 10:35
IRP_MJ_INTERNAL_DEVICE_CONTROL?
QQ:416331891,承接windows下应用和驱动的开发,雅虎通:zzq191, Email:zzq191@21cn.com
游客

返回顶部