阅读:3833回复:13
UsbBuildInterruptOrBulkTransferRequest()中的参数bufferlength,我该在哪里进行设置?
UsbBuildInterruptOrBulkTransferRequest()中的参数bufferlength,为进行数据传输的长度,但是没找到在哪里进行设置,我强行将它设置为0x200,但是当调用后,出现STATUS_ACCESS_VIOLATION,哪位老大知道,指点一下
|
|
沙发#
发布于:2007-05-10 19:39
怎么没人回答我啊,自己顶一下
|
|
板凳#
发布于:2007-05-12 17:08
谢谢了,那我看看我的应用程序吧
应用层用directshow做的,无法看到他每次设置数据包的大小,先谢谢了,我再查查 |
|
地板#
发布于:2007-05-14 10:55
楼上的老大,谢谢你的回答,还有问题
我现在做的是camera驱动,上面有个stream.sys调用我的驱动,可能是在那里有deviceiocontrol吧,应用程序我用的directshow写的,里面都是封装的,没看到deviceiocontrol, 我写的驱动部分就是用testcap+usbd,我看到论坛里有很多人做过的 |
|
地下室#
发布于:2007-05-16 11:50
Re:gutian98
那按照你说的,bulk请求的bufferlength=分辨率了,那他向usbd发送的请求数据包是不是太大了,usb一次也不能传输那么多数据阿;前段时间看usbintel上面好像对rawframe进行处理,里面好像也判断一祯数据是否接收完毕。 应该也是分成很多包,按序接收吧。 我现在用testcap加上usbd作为我的camera的驱动,我跟踪数据,每包的长度为0x70,但是不知道是从哪里获取的。 我用的是bulk传输的方式,不是同步。 |
|
5楼#
发布于:2007-05-16 17:07
Re:jinghuiren
老大,你不是说是应用软件中deviceiocontrol中的参数进行设置长度吗?bufferLength = irpStack->Parameters.DeviceIoControl.OutputBufferLength; 就是这个bufferLength=0x70,不知道从哪里出来的值?我的问题就是这个值怎么能弄大点? |
|
6楼#
发布于:2007-05-17 11:31
re:jinghuiren
directshow-----stream.sys-----ke077.sys -------下位机大体就是这样,怀疑可能是在stream.sys有一部分或者干脆就被directshow给封装了~~ |
|