hongpengtao
驱动小牛
驱动小牛
  • 注册日期2006-03-16
  • 最后登录2015-06-03
  • 粉丝0
  • 关注0
  • 积分14分
  • 威望190点
  • 贡献值0点
  • 好评度104点
  • 原创分0分
  • 专家分0分
阅读:1709回复:7

关于shadow device的问题请教一下tooflat

楼主#
更多 发布于:2007-07-27 16:14
参考tooflat 大牛的代码
在sfilter中增加shadow device
成功解决IRP_MJ_CREATE重入问题

但在IRP_MJ_CLOSE中调用zwclose重了入

造成堆益出
UNEXPECTED_KERNEL_MODE_TRAP
请问如何避免zwclose重了入

wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝16
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分0分
沙发#
发布于:2007-07-27 17:22
File system filter drivers call IoCreateFileSpecifyDeviceObjectHint to send a create request only to a specified device object, the filters attached below it, and the file system. Filters attached above the specified device object in the driver stack do not receive the create request. The same is true for any cleanup or close requests on the file object that is created by IoCreateFileSpecifyDeviceObjectHint.
花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
hongpengtao
驱动小牛
驱动小牛
  • 注册日期2006-03-16
  • 最后登录2015-06-03
  • 粉丝0
  • 关注0
  • 积分14分
  • 威望190点
  • 贡献值0点
  • 好评度104点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-07-27 20:45
IoCreateFileSpecifyDeviceObjectHint这个不能在2k中使用
还有这个和瑞星2007有冲突
不得不用没的方法
hongpengtao
驱动小牛
驱动小牛
  • 注册日期2006-03-16
  • 最后登录2015-06-03
  • 粉丝0
  • 关注0
  • 积分14分
  • 威望190点
  • 贡献值0点
  • 好评度104点
  • 原创分0分
  • 专家分0分
地板#
发布于:2007-07-28 10:41
自己顶一下
michaelgz
论坛版主
论坛版主
  • 注册日期2005-01-26
  • 最后登录2012-10-22
  • 粉丝1
  • 关注1
  • 积分150分
  • 威望1524点
  • 贡献值1点
  • 好评度213点
  • 原创分0分
  • 专家分2分
地下室#
发布于:2007-07-29 00:20
引用第2楼hongpengtao于2007-07-27 20:45发表的  :
IoCreateFileSpecifyDeviceObjectHint这个不能在2k中使用
还有这个和瑞星2007有冲突
不得不用没的方法


The function should be available in W2K SP4 .

和瑞星2007有冲突? Complain to the company or put your driver under it.
hongpengtao
驱动小牛
驱动小牛
  • 注册日期2006-03-16
  • 最后登录2015-06-03
  • 粉丝0
  • 关注0
  • 积分14分
  • 威望190点
  • 贡献值0点
  • 好评度104点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2007-07-30 09:49
我想了解一下
IoCreateFileSpecifyDeviceObjectHint函数的工作原理不知道有否这样的文档
谢谢
wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝16
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分0分
6楼#
发布于:2007-07-30 13:02
自己反编译研究下,大致是根据最后2个参数设置个内部标志,然后再IOCALLDRIVER之前,判断是否设置了标志,没得话,就IOGETATTACHDEVICE将对象替换为顶层设备,不然就直接往目标设备发IRP,同时为该FILEOBJECT生成扩展,将相关信息放入文件扩展中,尔后其他处理都根据文件扩展来处理==。。。。。。。

没错,所以没办法自己实现这个函数,因为要求系统对FileObject也作了扩展。
花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
lovehhy
驱动小牛
驱动小牛
  • 注册日期2007-09-17
  • 最后登录2010-09-17
  • 粉丝0
  • 关注0
  • 积分1028分
  • 威望244点
  • 贡献值0点
  • 好评度146点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2007-09-21 14:44
楼上的方法可以一试
游客

返回顶部