阅读:1335回复:3
jinghuiren老兄,请教一个关于pipe的问题
问题是这样的:应用程序可以通过deviceiocontrol函数来指定传输采用什么模式,然后调用writefile函数,但在驱动程序层,驱动程序怎么判断用户想用什么模式进行传输?我想了想 ,应该可能是通过判断irp的的某个参数来判断,但我是个菜鸟,现在在做毕业设计,以前从没接触过驱动开发,所以感觉挺迷糊的,请指点一二。 :D
我的oicq是:6702731 email:number0056@sina.com 十分感谢!! [编辑 - 5/24/03 by imaginewq] |
|
沙发#
发布于:2003-05-24 22:47
如果你只有两个管道,那一般是通过ioctl code来区分的,如果你有多个管道,那你的先用deviceiocontrol()函数把管道信息先传到驱动里,然后用readfile()/writefile()来写和读数据。
|
|
板凳#
发布于:2003-05-24 22:59
我还是有疑问,举个例子驱动程序层中的构造urb的例程有个参数是管道的handle,我想这说明在处理写irp的例程中先要判断应用程序想要通过哪个管道进行传输,我就是对它如何判断有疑惑(虽然应用程序事先已经通过deviceiocontrol通知驱动要进行何种类型的传输,但我在驱动程序中又怎么来处理deviceiocontrol出来的数据?)
我真的很笨呐 |
|
地板#
发布于:2003-05-25 12:35
deviceiocontrol()里面不是有个ioctl code的参数吗?通过这个还不能区分是写还是读吗?
如果是多个端点,那就通过inputbuffer把你要使用的端点信息传到驱动里去,然后再驱动里根据这里面的信息选择端点handle |
|