阅读:1191回复:1
多学多问.呵呵,自己发送Irp中关于FILE_OBJECT等的参数问题,几星期积累的糊涂
自定义Irp时,需新建立一个FILE_OBJECT,并填充Irp的头和栈.再发送到下层设备
在建立新的FILE_OBJECT 中 pFileObject->DeviceObject = DeviceObject; pFileObject->Flags = FO_SYNCHRONOUS_IO; pFileObject->RelatedFileObject = FileObject; 这三句分别是什么意思呢? 其中pFileObject->DeviceObject = DeviceObject; 是我们的设备的对象还是下层的呢? pFileObject->RelatedFileObject = FileObject;是新建立的FILEOBJECT还是当前的呢? 呵呵,疑问太多了.请多多包含. 在Irp头中 Irp->Tail.Overlay.OriginalFileObject = pFileObject; 这个pFileObject是不是就是我们新建立的那个pFileObject呢? 在Irp栈中 IoStackLocation->DeviceObject = devExt->NextDevice ; //卷设备? IoStackLocation->FileObject = pFileObject; IoStackLocation->DeviceObject 是不是表示下一层驱动呢 IoStackLocation->FileObject是不是表示我们新增加的这个FILE_OBJECT呢 希望各位达人帮我,我都糊涂好几个星期了.实在自己搞不懂才问的.谢谢,感激!!! 还有,我想买超值版的NT文件内幕的书,240那版的 如果要开发票的话(开书的,和高会的)一起要多少钱,希望谁能告诉我,早知道早点买,怕买的人多了没货啊 5555 |
|
沙发#
发布于:2007-01-15 18:25
|
|
|