阅读:998回复:2
关于文件过滤驱动read分发例程的一个问题?
看了楚大侠的文件过滤驱动,对过滤IRP_MJ_READ里有一点不解.
NTSTATUS SfRead ( IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp ) { if (IS_MY_CONTROL_DEVICE_OBJECT(DeviceObject)) { Irp->IoStatus.Status = STATUS_INVALID_DEVICE_REQUEST; Irp->IoStatus.Information = 0; IoCompleteRequest( Irp, IO_NO_INCREMENT ); return STATUS_INVALID_DEVICE_REQUEST; } if(devExt->StorageStackDeviceObject != NULL) { return SfPassThrough(DeviceObject,Irp); } } 就是这个判断if(devExt->StorageStackDeviceObject != NULL) 没有明白,为什么StorageStackDeviceObject != NULL 就把IRP往下传? |
|
沙发#
发布于:2007-09-03 17:19
刚刚又看了下,怀疑是不是楚大侠写错了,应该是if(devExt->StorageStackDeviceObject == NULL), 说明是我们的过滤文件系统设备,此时不做处理,直接passthrough
![]() |
|
板凳#
发布于:2007-11-12 14:01
是的,我也这样认为,应该是if(devExt->StorageStackDeviceObject == NULL)。
|
|