版块
论坛
喜欢
话题
应用
搜索
登录
注册
cicada的个人空间
访问量
0
新鲜事
帖子
资料
http://bbs3.driverdevelop.com/index.php?m=space&uid=71078
创建IRP时的StackSize的问题?
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)
回复
cicada
:
ding!
(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)
回复
wowocock
:
Filemon中获取文件名时是创建了一个IRP_MJ_QUERY_INFORMATION的IRP来完成的。函数为IoAllocateIrp(DeviceObject->StackSize,FASLE);那么在这层的过滤驱动向下层发送Irp时,此时创建的Irp的StackSi...
(2005-03-09 08:50)
回复
cicada
加关注
写私信
0
关注
1
粉丝
263
帖子
返回顶部