slils
驱动牛犊
驱动牛犊
  • 注册日期2007-05-19
  • 最后登录2008-12-11
  • 粉丝0
  • 关注0
  • 积分30分
  • 威望55点
  • 贡献值0点
  • 好评度54点
  • 原创分0分
  • 专家分0分
阅读:1532回复:2

新手求助:sfilter中SfDebug变量问题

楼主#
更多 发布于:2008-04-10 14:34
想在源码中,IRP_MJ_CREATE中显示文件的全路径,但是执行到:
if (!FlagOn( SfDebug, SFDEBUG_DO_CREATE_COMPLETION |
                          SFDEBUG_GET_CREATE_NAMES|
                          SFDEBUG_DISPLAY_CREATE_NAMES )) {

        //
        //  Don't put us on the stack then call the next driver
        //

        IoSkipCurrentIrpStackLocation( Irp );

        return IoCallDriver( ((PSFILTER_DEVICE_EXTENSION) DeviceObject->DeviceExtension)->AttachedToDeviceObject, Irp );

    } else {
    
        KEVENT waitEvent;

        //
        //  Initialize an event to wait for the completion routine to occur
        //

        KeInitializeEvent( &waitEvent, NotificationEvent, FALSE );

        //
        //  Copy the stack and set our Completion routine
        //

        IoCopyCurrentIrpStackLocationToNext( Irp );

        IoSetCompletionRoutine(
            Irp,
            SfCreateCompletion,
            &waitEvent,
            TRUE,
            TRUE,
            TRUE );

        //
        //  Call the next driver in the stack.
        //

        status = IoCallDriver( ((PSFILTER_DEVICE_EXTENSION) DeviceObject->DeviceExtension)->AttachedToDeviceObject, Irp );
遇到第一个IF就进去了,然后就结束了。打印发现,SfDebug的值一直是0.。。。。
是不是要显示路径,要重定义SfDebug的值啊?
slils
驱动牛犊
驱动牛犊
  • 注册日期2007-05-19
  • 最后登录2008-12-11
  • 粉丝0
  • 关注0
  • 积分30分
  • 威望55点
  • 贡献值0点
  • 好评度54点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2008-04-10 15:14
改为:0xffff_ffef后,可以打印了。
forward8467
驱动牛犊
驱动牛犊
  • 注册日期2008-04-09
  • 最后登录2008-07-26
  • 粉丝0
  • 关注0
  • 积分60分
  • 威望7点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2008-04-12 12:56
可以在注册表中修改它的值嘛~~
驱网无线,快乐无限
游客

返回顶部