chongchong
驱动牛犊
驱动牛犊
  • 注册日期2006-09-21
  • 最后登录2007-09-08
  • 粉丝0
  • 关注0
  • 积分280分
  • 威望29点
  • 贡献值0点
  • 好评度28点
  • 原创分0分
  • 专家分0分
阅读:1194回复:1

文件过滤驱动进行文件系统筛选时出问题(附代码)

楼主#
更多 发布于:2007-03-22 15:24
  DBGSTATIC
VOID
SfFsNotification(IN PDEVICE_OBJECT DeviceObject,
                 IN BOOLEAN FsActive)
{

                NTSTATUS status;
    PDEVICE_OBJECT deviceObject;
    PDEVICE_OBJECT nextAttachedDevice;
    PDEVICE_OBJECT fsDevice;
    UNICODE_STRING TempString;

    PAGED_CODE();

                if(FsActive)
    {
        PDEVICE_EXTENSION deviceExtension;

        //
        // The file system has registered as an active file system.  If it is
        // a disk-based file system attach to it.
        //
        
        ExAcquireResourceExclusiveLite(&FsLock, TRUE);

        KmdQueryObjectName(DeviceObject, &FSType[TypeNum]);
        RtlInitUnicodeString(&TempString, L"\\Fat");
        if(RtlCompareUnicodeString(&FSType[TypeNum], &TempString, TRUE) == 0)
        {
            TypeNum ++;
            return;
        }
        TypeNum ++;
        
        status = IoCreateDevice(MyDriverObject,
                    sizeof(DEVICE_EXTENSION),
                    (PUNICODE_STRING) NULL,
                    DeviceObject->DeviceType,
                    0,
                    FALSE,
                    &deviceObject);
                                以下部分省略
}

FSType[TypeNum]里是当前设备的文件系统类型,如果是NTFS的话就return,出现的问题是开机时没什么反映,一直挂在那,如果换成别的文件系统则可以正常启动(机器的文件系统是ntfs)
不明白什么原因
请高手帮忙看看
着急呀
chongchong
驱动牛犊
驱动牛犊
  • 注册日期2006-09-21
  • 最后登录2007-09-08
  • 粉丝0
  • 关注0
  • 积分280分
  • 威望29点
  • 贡献值0点
  • 好评度28点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-03-23 09:35
自己顶一下
请大家帮忙看看
游客

返回顶部