阅读:1509回复:3
怎样在filter driver中改变IRP_MJ_WRITE写入硬盘Buffer的大小?
我在filter driver中截获了IRP_MJ_WRITE操作的UerBuffer,已经可以更改别的程序写入硬盘的数据的内容了,但是我想在写入硬盘的数据中加入一段多余的数据,也就是使写入硬盘的内容变长,请问该怎么办?
先谢了!! 我直接更改Parameter.Write.Length但是没有效果: pIrpStack = IoGetCurrentIrpStackLocation(Irp); pIrpStack->Parameters.Write.Length = pIrpStack->Parameters.Write.Length +unAddBufSize; |
|
沙发#
发布于:2004-05-25 11:20
你试试直接用ZwCreateFile打开文件,写入数据,关闭后将IRP包继续下传,应该可以
|
|
板凳#
发布于:2004-05-25 11:45
请问在ZwCreateFile中怎么设置打开文件的路径,用pIrpStack->FileObject->FileName能行吗?
|
|
地板#
发布于:2004-05-25 15:30
试试下列处理步骤看行不行:
1、为Irp->AssociatedIrp.SystemBuffer分配足够的内存; 2、改变IrpSp->Parameters.Write.Length的长度; 3、改变Irp->IoStatus.Information; |
|
|