afengsoft
驱动牛犊
驱动牛犊
  • 注册日期2004-08-14
  • 最后登录2012-07-14
  • 粉丝0
  • 关注0
  • 积分24分
  • 威望23点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
阅读:1274回复:1

文件系统过滤驱动程序开发中FAT32的问题

楼主#
更多 发布于:2011-08-03 14:57

请问以下代码为什么在NTFS下正常,FAT32下就会出现内存错误啊?希望有懂的人给分析下,谢谢。


VOID
HideHandler(
  IN ULONG      Index,
  IN PFILE_BOTH_DIR_INFORMATION CurrEntry,
  IN PFILE_BOTH_DIR_INFORMATION LastEntry,
  IN PIRP      Irp
  )
{
  PVOID temp;
    temp = ExAllocatePool(
        NonPagedPool,
        ((PCHAR) Irp->UserBuffer + Irp->IoStatus.Information) - \
        ((PCHAR) CurrEntry + CurrEntry->NextEntryOffset)
        );
    
    if ( temp ) {
      RtlCopyMemory(
        temp,
        (PCHAR) CurrEntry + CurrEntry->NextEntryOffset,
        ((PCHAR) Irp->UserBuffer + Irp->IoStatus.Information) - \
        ((PCHAR) CurrEntry + CurrEntry->NextEntryOffset)
        );
      RtlZeroMemory(
        CurrEntry,
        ((PCHAR) Irp->UserBuffer + Irp->IoStatus.Information) - \
        (PCHAR) CurrEntry
        );
      RtlCopyMemory(
        CurrEntry,
        temp,
        ((PCHAR) Irp->UserBuffer + Irp->IoStatus.Information) - \
        ((PCHAR) CurrEntry + CurrEntry->NextEntryOffset)
        );
      Irp->IoStatus.Information -= CurrEntry->NextEntryOffset;
      ExFreePool( temp );
}
lsfwhut
驱动牛犊
驱动牛犊
  • 注册日期2010-11-10
  • 最后登录2012-02-14
  • 粉丝0
  • 关注1
  • 积分22分
  • 威望221点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2011-08-11 10:21
我也遇到跟你类似的问题,我的驱动在NTFS下勉强还行,在FAT32下就蓝屏了。。。
希望得到你的指点 和你交流  我的QQ:262772639
游客

返回顶部