串口读取数据过滤,该如何解决

串口读取数据过滤
在用ddk做驱动时,在对
IRP_MJ_READ截获后
然后改变指向的buffer中的数据
最总发现用串口调试助手读取数据时并没有改变串口读到数据的内容,
请问应该怎样做能够从底层改变收到数据,最终使用串口调试助手时显示的是我修改的数据

------解决方案--------------------
串口读取数据一般都是标准协议。
lz,能描述得具体一点么?
------解决方案--------------------
不懂,帮顶
------解决方案--------------------
如果你想伪造数据,你直接结束这个irp就行了! 无需再往上层传递!

这是我在文件过滤驱动中的做法
...
...
...
RtlCopyMemory(buf,dummy,readLen); //这里就在伪造,随便怎么弄!
//设置irp的IoStatus
Irp->IoStatus.Information = readLen; 
Irp->IoStatus.Status = STATUS_SUCCESS;//STATUS_ACCESS_VIOLATION; //violation 违反,违背
...
...
IoCompleteRequest(Irp,IO_NO_INCREMENT);
return Irp->IoStatus.Status;
}