首页
社区
课程
招聘
[求助]驱动卸载蓝屏
发表于: 2010-8-26 10:55 7304

[求助]驱动卸载蓝屏

2010-8-26 10:55
7304
#pragma PAGEDCODE
VOID HelloDDKUnload (IN PDRIVER_OBJECT pDriverObject)
{
        PDEVICE_OBJECT        pNextObj;
        NTSTATUS status;
        KdPrint(("Enter DriverUnload\n"));
        pNextObj = pDriverObject->DeviceObject;
        while (pNextObj != NULL)
        {
                KdPrint(("Enter DriverUnload\n"));
               
                                PDEVICE_EXTENSION pDevExt = (PDEVICE_EXTENSION)
                        pNextObj->DeviceExtension;

                                UNICODE_STRING pLinkName = pDevExt->ustrSymLinkName;
                IoDeleteSymbolicLink(&pLinkName);
                pNextObj = pNextObj->NextDevice;
                IoDeleteDevice( pDevExt->pDevice );
        }
}这段驱动卸载的程序在xp下没有问题,但是在win7下卸载就会蓝屏,请教各位。我用widbg查看
说这行pNextObj = pNextObj->NextDevice;有错,但是小弟实在是不知道这行为什么错了,请教各位大侠

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 55
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
自己顶一下 哪位大哥帮帮忙啊
2010-8-26 15:07
0
雪    币: 210
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
是不是win7和xp内核结构变了,我也是菜鸟。我用WINOBJ查看win7的driver都是空的,在xp下就可以正常显示。。
2010-8-26 15:35
0
雪    币: 55
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
谢谢你的回答 但是应该不是这个问题 因为我都没有使用内核的结 ,就一个卸载例程搞一天了。。。没搞出来 疯了
2010-8-26 16:00
0
雪    币: 156
活跃值: (26)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
5
是不是win7修改了NextDevice这个成员?找个win7的符号表看看DEVICE_OBJECT和xp有无不同吧

而且建议你把蓝屏的信息贴出来,这样才能分析蓝屏的原因
2010-8-26 17:34
0
雪    币: 212
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
你这个是Windows驱动开发详解的代码吧....
把 pragma PAGEDCODE
这些删掉重新编译试下....
2010-8-27 08:51
0
雪    币: 55
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
谢谢各位 问题已解决 是赋值的问题
2010-8-27 19:49
0
游客
登录 | 注册 方可回帖
返回
//