wgq
wgq
驱动小牛
驱动小牛
  • 注册日期2001-07-23
  • 最后登录2013-12-09
  • 粉丝3
  • 关注0
  • 积分40分
  • 威望342点
  • 贡献值0点
  • 好评度97点
  • 原创分0分
  • 专家分0分
阅读:2410回复:7

请教,USB驱动中如何加工数据

楼主#
更多 发布于:2010-08-11 09:40
有2个疑问:
1 需要在USB驱动中,处理下发上传数据,会改变数据的长度,如何处理啊?
2 处理数据时,希望使用一些系统API,如文件系统处理,图像处理函数等,如何处理?

麻烦解答一下,谢谢!
qq
wgq
wgq
驱动小牛
驱动小牛
  • 注册日期2001-07-23
  • 最后登录2013-12-09
  • 粉丝3
  • 关注0
  • 积分40分
  • 威望342点
  • 贡献值0点
  • 好评度97点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2010-08-11 10:13
第一个问题能用filter解决吗?
看到一些例子是可以拦截IRP,不下发到设备,设置数据后,直接调用完成例程。


第二个问题有点困难啊!
qq
threewater1
驱动牛犊
驱动牛犊
  • 注册日期2009-12-28
  • 最后登录2010-08-11
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望41点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2010-08-11 17:15
2.简单的文件处理可以用Zw-或是Nt-系的函数,字符处理可以用Rtl-函数

图像处理就不知道了,没接触过。
wgq
wgq
驱动小牛
驱动小牛
  • 注册日期2001-07-23
  • 最后登录2013-12-09
  • 粉丝3
  • 关注0
  • 积分40分
  • 威望342点
  • 贡献值0点
  • 好评度97点
  • 原创分0分
  • 专家分0分
地板#
发布于:2010-08-12 09:18
谢谢
关于问题1,对于数据的处理有没有好的建议啊?
qq
liucan1982
驱动牛犊
驱动牛犊
  • 注册日期2009-04-16
  • 最后登录2010-08-18
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望81点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2010-08-12 19:46
楼主应该重新设计下架构,弄明白为什么要在usb driver中进行图像处理,为什么不能通过user space的application 调用usb driver的接口
取到预期数据之后,再进行图像处理?
wgq
wgq
驱动小牛
驱动小牛
  • 注册日期2001-07-23
  • 最后登录2013-12-09
  • 粉丝3
  • 关注0
  • 积分40分
  • 威望342点
  • 贡献值0点
  • 好评度97点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2010-08-17 18:34
application是别人开发的,我们只能在DRIVER里进行过滤处理,没办法啊!
还是得考虑驱动的架构来实现。
qq
Pegram
论坛版主
论坛版主
  • 注册日期2005-12-03
  • 最后登录2013-08-23
  • 粉丝13
  • 关注5
  • 积分1333分
  • 威望4717点
  • 贡献值1点
  • 好评度78点
  • 原创分0分
  • 专家分2分
6楼#
发布于:2010-09-23 10:11
>>有2个疑问:
>>1 需要在USB驱动中,处理下发上传数据,会改变数据的长度,如何处理啊?
1. 如果是别人的驱动,要写一个filter驱动,在功能驱动之前截取IRP包;如果是你自己写的功能驱动,不需要。
2. 取IRP包中的数据(inputbuffer或其他方式传递下来的数据包)
3. 创建若干个IRP/URB,并把数据包分成你希望的大小,使用这些IRP/URB发送下去(下层是USBD总线驱动)。

>>2 处理数据时,希望使用一些系统API,如文件系统处理,图像处理函数等,如何处理?
不可以的。Win32 API一个都不能在内核使用。Ntoskrnl重新了部分CRT运行库,比如strcpy之类是可以在内核中使用的,添加<dontusb.h>即可。但从文件名称你就可以知道,他不建议在内核中被使用。文字处理,在内核中,首先选择使用<ntstrsafe.h>中定义的运行时函数。
《寒江独钓》与《竹林蹊径》的合作作者。精通USB开发,设计了CY001 USB驱动套件(http://bbs.driverdevelop.com/read.php?tid-119314.html)。
eaatcc
禁止发言
禁止发言
  • 注册日期2006-04-21
  • 最后登录2018-12-27
  • 粉丝0
  • 关注0
  • 积分6884分
  • 威望34869点
  • 贡献值0点
  • 好评度24点
  • 原创分0分
  • 专家分0分
  • 社区居民
7楼#
发布于:2010-12-04 00:25
用户被禁言,该主题自动屏蔽!
游客

返回顶部