Filemon中获取文件名时是创建了一个IRP_MJ_QUERY_INFORMATION的IRP来完成的。函数为IoAllocateIrp(DeviceObject->StackSize,FASLE);那么在这层的过滤驱动向下层发送Irp时,此时创建的Irp的StackSi...
全文
回复(6) 2005-03-07 19:38 来自版块 - 文件系统(过滤)驱动程序开发
表情
cicada系统会自己调用IoSkipCurrentIrpStackLocation这个么?如果这样造成堆栈单元和处理该IRP的驱动程序不一致怎么办呢?(2005-03-14 16:00)
tiamo大于了又怎么样呢 不会出错的 不记得有个叫IoSkipCurrentIrpStackLocation的宏了么 他不是就能抵消掉IoCallDriver作的减法操作么(2005-03-14 05:52)
cicadading!(2005-03-13 18:03)
aasa2我也很想知道 :)(2005-03-10 08:06)
cicada如果是由I/O管理器创建的IRP,其StackCount是目标设备的StackSize+1。这点没错。 我的意思是,假设filemon之下有2个驱动,filemon之上又attach了两个驱动,那么目标设备对象的StackSize应是5。而此时在filemon中创建的IRP用5...(2005-03-09 09:17)
wowocockFilemon中获取文件名时是创建了一个IRP_MJ_QUERY_INFORMATION的IRP来完成的。函数为IoAllocateIrp(DeviceObject->StackSize,FASLE);那么在这层的过滤驱动向下层发送Irp时,此时创建的Irp的StackSi...(2005-03-09 08:50)

返回顶部