csdnm
驱动牛犊
驱动牛犊
  • 注册日期2010-07-12
  • 最后登录2012-08-16
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望91点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1733回复:1

minifitler预打开文件!

楼主#
更多 发布于:2011-11-15 21:19
我在minifitler的precreate使用FltCreateFile创建一个文件,然后写入内容,但是每当我新建的时候,就会新建很多文件,知道堆栈溢出,创建了999个文件,貌似是FltCreateFile导致产生了重入,但是我已经将回调数据里的create.options改成FILE_OPEN,求解答啊!!!!status = FltCreateFile(FltObjects->Filter,        FltObjects->Instance,        &hFile,        desired_access,        &ob,        &IoStatus,        NULL,        file_attri,        share_access,        disposition,        create_options,        NULL,        0,        IO_IGNORE_SHARE_ACCESS_CHECK        ) ;      if (!NT_SUCCESS(status))      {        __leave ;      }Data->Iopb->Parameters.Create.Options &= 0x00ffffff;    disp = FILE_OPEN        Data->Iopb->Parameters.Create.Options |= (disp << 24);
znsoft
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2023-10-25
  • 粉丝300
  • 关注6
  • 积分910分
  • 威望14796点
  • 贡献值7点
  • 好评度2410点
  • 原创分5分
  • 专家分100分
  • 社区居民
  • 最爱沙发
  • 社区明星
沙发#
发布于:2011-11-16 08:13
你创建文件当然要产生重入了,pre ,使用专用的函数,minfilter有避免重入的ftlcreatexxxx函数
http://www.zndev.com 免费源码交换网 ----------------------------- 软件创造价值,驱动提供力量! 淡泊以明志,宁静以致远。 ---------------------------------- 勤用搜索,多查资料,先搜再问。
游客

返回顶部