阅读:1712回复:2
explorer.exe 发起的IRP_MJ_QUERY_INFORMATION,加载我的Filter Driver后,结果老是INVALID_PARAMETER
我做了一个filter driver,只是处理了IRP_MJ_CREATE
用FileMon发现,一旦我的驱动加载后,Explorer.exe发起的IRP_MJ_QUERY_INFORMATION,结果老是INVALID_PARAMETER. 一旦没有加载,则返回成功。有人知道原因吗? |
|
沙发#
发布于:2004-07-28 18:13
至少说说你怎么处理IRP_MJ_WRITE吧?
这么稀里糊涂地一问, 谁也不是神仙,怎么会知道原因? |
|
|
板凳#
发布于:2004-07-29 11:52
我的filter driver只是处理了IRP_MJ_CREATE,在里面获取文件路径,与某目标文件路径对比,发现吻合的话,修改FileObject->FileName
,并 Irp->IoStatus.Information = IO_REPARSE; //ExFreePool( FileNameBuffer); Irp->IoStatus.Status = STATUS_REPARSE; IoCompleteRequest(Irp, IO_NO_INCREMENT); return STATUS_REPARSE; 如果不吻合,则: IoSkipCurrentIrpStackLocation( Irp ); return IoCallDriver( ( ( PPADLOCKFILTER_DEVICE_EXTENSION )DeviceObject->DeviceExtension )->AttachedToDeviceObject, Irp ); 其他的IRP都直接 IoSkipCurrentIrpStackLocation( Irp ); return IoCallDriver( ( ( PPADLOCKFILTER_DEVICE_EXTENSION )DeviceObject->DeviceExtension )->AttachedToDeviceObject, Irp ); |
|