iso2000
驱动牛犊
驱动牛犊
  • 注册日期2002-10-24
  • 最后登录2002-11-02
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1147回复:3

需要大虾指点乾坤(20 分啊)

楼主#
更多 发布于:2002-11-01 21:20
我在卸载设备时,收到设备管理器传来的 IRP = IRP_MN_REMOVE_DEVICE,但总是 PAGE FAULT 在以下代码的最后一行(打印那一句)。Who can help me !!!!!!!!!!!
代码如下(一点点):
    case IRP_MN_REMOVE_DEVICE:

        if(!deviceInfo->Removed)
        {
            deviceInfo->Removed = TRUE;
            deviceInfo->Started = FALSE;

            if (deviceInfo->PortWasMapped)
            {
                MmUnmapIoSpace(deviceInfo->PortBase, deviceInfo->PortCount);
                deviceInfo->PortWasMapped = FALSE;
            }
            RtlInitUnicodeString(&win32DeviceName, DOS_DEVICE_NAME);
            IoDeleteSymbolicLink(&win32DeviceName);          
        }        

        DebugPrint((\"Waiting for outstanding requests\\n\"));
        IoReleaseRemoveLockAndWait(&deviceInfo->RemoveLock, Irp);

        Irp->IoStatus.Status = STATUS_SUCCESS;
        IoSkipCurrentIrpStackLocation(Irp);
        status = IoCallDriver(deviceInfo->NextLowerDriver, Irp);

        IoDetachDevice(deviceInfo->NextLowerDriver);
        IoDeleteDevice(DeviceObject);

        DbgPrint(\"kill you line = %d\",__LINE__);
        return status;
lh0512
驱动牛犊
驱动牛犊
  • 注册日期2002-11-01
  • 最后登录2002-11-15
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-11-01 23:17
你是不是函数用错了,dbgPrint()应该改成debugPrint()
VanCheer
驱动老牛
驱动老牛
  • 注册日期2002-02-21
  • 最后登录2003-08-28
  • 粉丝0
  • 关注0
  • 积分-20分
  • 威望-10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-11-02 10:17
我也不懂
给你个思路,估计是到最后一行时,你的驱动生涯结束了,所以可能IRQL不对了???
[img]http://www.driverdevelop.com/forum/upload/VanCheer/2003-03-21_mon.gif[/img][img]http://www.driverdevelop.com/forum/upload/VanCheer/2002-12-07_smallbaby.jpg[/img]
seven
驱动小牛
驱动小牛
  • 注册日期2001-04-03
  • 最后登录2007-03-28
  • 粉丝0
  • 关注0
  • 积分80分
  • 威望8点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-11-03 17:48
不知道这位哥们改对了没有?我觉得是中断级别的问题。是不是page中断优先于你的那句打印语句dbgprint()
我爱中医:http://www.ngotcm.com/forum/index.php
游客

返回顶部