我想在IRP_MJ_CREATE里面,读取文件,调用zwcreatefile,然后,zwreadfile,调用完zwcreatefile后就会重入,怎么解决??非常着急,老大快帮帮忙!!
回复(12) 2004-05-13 11:57 来自版块 - 文件系统(过滤)驱动程序开发
表情
rayyang2000yes (2004-05-14 16:22)
tooflatshadow device就是我们自己创建的一个设备(没有attach到任何设备上),比如symbol link为\"ShadowDevice\" 然后我们在mj_create(filter device的)中用\\\\.\\ShadowDevice\\...(2004-05-14 12:51)
tooflatshadow device object有问题,导致在你之后attach的驱动不能收到mj_create IoCreateFileSpecifyDeviceObjectHint同样会有这个问题 [编辑 - 5/14/04 by tooflat](2004-05-14 12:45)
wowocockshadow好象只在XP以后有支持吧???(2004-05-14 11:35)
ildee请问楼上的老大,shadow device objects 是啥东东??能给点提示吗??(2004-05-14 09:44)
rayyang2000用shadow device object啊,osr推荐的(2004-05-14 09:10)
deltali还是自己创建irp往下传把。 实在想用zwxxx函数的话,本版以前有过非常详细的关于重入的讨论,自己搜索一下吧(2004-05-13 18:11)
slwqw判断Irp->RequestorMode ??? if (Irp->RequestorMode == UserMode) { InitializeObjectAttributes(,OBJ_KERNEL_HANDLE,); ZwCreateFile(); Z...(2004-05-13 18:05)
minsoft其实有一种更好的方法,在XP DDK以上有一个函数替代ZwCreate,不会重复进入本filter,而且它产生的句柄以后使用ZwRead/ZwWrite/ZwClose都不会再入进入而是直接发到下层的DeviceObject,它就是: IoCreate......ByHint-...(2004-05-13 14:51)
ildee老大,搞定了,谢了。。(2004-05-13 14:10)

返回顶部