阅读:2081回复:7
疑问--一个USB驱动源代码
诸位,这是我在看的一个例子,黑体字的地方颇感困惑: 1,app调用ReadFile后即产生此irp,那么谁有机会在什么地方修改 deviceExtension->AcceptingRequests == FALSE? 2,谁在什么地方有机会填写IRP stack中的域FileObject. irpStack = IoGetCurrentIrpStackLocation (Irp); fileObject = irpStack->FileObject; pipeHandle = fileObject->FsContext; 谢谢各位指教 |
|
最新喜欢:r2109t...
|
沙发#
发布于:2002-11-20 08:49
1,deviceExtension->AcceptingRequests 应该在AddDevice 里设定值 2,IoGetCurrentIrpStackLocation 例程的调用就会构造IRP填写FileObject 域 |
|
|
板凳#
发布于:2002-11-20 13:53
可参照DDK里usb bulk传输的Sample,那里面就是这么做的。你问的几个问题里面都有。
|
|
地板#
发布于:2002-11-20 21:05
:(
irpStack = IoGetCurrentIrpStackLocation (Irp); 这是源代码噢,还是看不懂上面的句子何来! |
|
|
地下室#
发布于:2002-11-21 09:21
好像是上层应用程序调用CreateFile是由系统创建的,你试试。另外这问题在那本机械工业那本书上好像有介绍。我也记不清了,你自己查查。
|
|
5楼#
发布于:2004-02-20 15:16
呵呵,时隔一年半,炒一炒剩饭。看看这个。
http://www.wd-3.com/archive/namespace.htm |
|
6楼#
发布于:2004-02-20 16:52
这篇文章不错,谢谢!我也好久没有做window底下的driver了
|
|
|
7楼#
发布于:2004-02-21 12:05
USB driver用DRIVER WORKS生成的框架来干. 方便得离谱. DDK下就麻烦多了.
|
|
|