zgc7622
驱动小牛
驱动小牛
  • 注册日期2003-02-24
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分136分
  • 威望15点
  • 贡献值0点
  • 好评度13点
  • 原创分0分
  • 专家分0分
阅读:989回复:4

我写驱动的时候的一个问题!!请大家帮助!!

楼主#
更多 发布于:2004-07-14 22:25
安装以后可以使用,并能起到反删除的目的。可是当我将这个驱动注册为系统启动以后就开始运行的那种后,当我重起计算机。系统只能进到可以看到2000桌面,然后就重新启动了。
我使用SOFTICE调试了一下看到了这个错误
//设置正确的得到路径的
memset(TempInstallDir,0,255);
memcpy(TempInstallDir,HideBobyDir,sizeof(HideBobyDir));
strcat(TempInstallDir,"\FileLog\UnDelDir.txt");
//TempInstallDir转换成ANSI_STRING
RtlInitString(&TempInstall_Ansi,TempInstallDir);

pHideFileDir.Buffer = (PWSTR)ExAllocatePool(PagedPool,1024);
DbgPrint("创建pHideFileDir.Buffern");
RtlZeroMemory(pHideFileDir.Buffer,1024);
pHideFileDir.MaximumLength = 1024;
RtlAnsiStringToUnicodeString(&pHideFileDir,&TempInstall_Ansi,TRUE);
当执行下面的代码的时候:
RtlAnsiStringToUnicodeString(&pHideFileDir,&TempInstall_Ansi,TRUE);

提示错误:
Bread due to page Fault (0Eh), Fault=0002

这是为什么那???
并且这个问题不是说每次都出现的。




 
snowStart
驱动老牛
驱动老牛
  • 注册日期2004-04-06
  • 最后登录2011-06-02
  • 粉丝0
  • 关注0
  • 积分95分
  • 威望19点
  • 贡献值177点
  • 好评度1点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-07-15 08:10
估计是你申请的是分页内存PagedPool,
改称非分页内存试一试
学习,关注,交流中... [email=fengyu@163.com]Email:snowstarth@163.com[/email] [url]http://bbs.zndev.com/?a=snowStart[/url]
xx_qiang
驱动小牛
驱动小牛
  • 注册日期2004-07-30
  • 最后登录2017-02-27
  • 粉丝2
  • 关注1
  • 积分31分
  • 威望249点
  • 贡献值0点
  • 好评度171点
  • 原创分0分
  • 专家分0分
  • 社区居民
板凳#
发布于:2004-08-05 13:22
当你在DISPATCH_LEVEL以上的中断级申请可分页区,会导致系统崩溃。
swf2003
驱动中牛
驱动中牛
  • 注册日期2003-02-13
  • 最后登录2011-10-28
  • 粉丝1
  • 关注0
  • 积分4分
  • 威望22点
  • 贡献值0点
  • 好评度20点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-08-11 13:25
pHideFileDir.Buffer = (PWSTR)ExAllocatePool(PagedPool,1024);
这句
你的认可是对我最大的鼓励!
snowStart
驱动老牛
驱动老牛
  • 注册日期2004-04-06
  • 最后登录2011-06-02
  • 粉丝0
  • 关注0
  • 积分95分
  • 威望19点
  • 贡献值177点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-08-11 20:54
改成这样试一是
pHideFileDir.Buffer = (PWSTR)ExAllocatePool(NonPagedPool,1024);
学习,关注,交流中... [email=fengyu@163.com]Email:snowstarth@163.com[/email] [url]http://bbs.zndev.com/?a=snowStart[/url]
游客

返回顶部