imaginewq
驱动牛犊
驱动牛犊
  • 注册日期2003-03-10
  • 最后登录2003-10-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1335回复:3

jinghuiren老兄,请教一个关于pipe的问题

楼主#
更多 发布于:2003-05-24 22:01
   问题是这样的:应用程序可以通过deviceiocontrol函数来指定传输采用什么模式,然后调用writefile函数,但在驱动程序层,驱动程序怎么判断用户想用什么模式进行传输?我想了想 ,应该可能是通过判断irp的的某个参数来判断,但我是个菜鸟,现在在做毕业设计,以前从没接触过驱动开发,所以感觉挺迷糊的,请指点一二。 :D
   我的oicq是:6702731
   email:number0056@sina.com
 十分感谢!!

[编辑 -  5/24/03 by  imaginewq]
jinghuiren
驱动巨牛
驱动巨牛
  • 注册日期2002-06-01
  • 最后登录2008-10-27
  • 粉丝0
  • 关注0
  • 积分291分
  • 威望460点
  • 贡献值0点
  • 好评度428点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-05-24 22:47
如果你只有两个管道,那一般是通过ioctl code来区分的,如果你有多个管道,那你的先用deviceiocontrol()函数把管道信息先传到驱动里,然后用readfile()/writefile()来写和读数据。
imaginewq
驱动牛犊
驱动牛犊
  • 注册日期2003-03-10
  • 最后登录2003-10-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-05-24 22:59
    我还是有疑问,举个例子驱动程序层中的构造urb的例程有个参数是管道的handle,我想这说明在处理写irp的例程中先要判断应用程序想要通过哪个管道进行传输,我就是对它如何判断有疑惑(虽然应用程序事先已经通过deviceiocontrol通知驱动要进行何种类型的传输,但我在驱动程序中又怎么来处理deviceiocontrol出来的数据?)
     我真的很笨呐
jinghuiren
驱动巨牛
驱动巨牛
  • 注册日期2002-06-01
  • 最后登录2008-10-27
  • 粉丝0
  • 关注0
  • 积分291分
  • 威望460点
  • 贡献值0点
  • 好评度428点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-05-25 12:35
deviceiocontrol()里面不是有个ioctl code的参数吗?通过这个还不能区分是写还是读吗?
如果是多个端点,那就通过inputbuffer把你要使用的端点信息传到驱动里去,然后再驱动里根据这里面的信息选择端点handle
游客

返回顶部