阅读:1640回复:16
关于测试的问题
为什么我做的驱动不能加载?我用w2K设备驱动程序设计指南提供的驱动向导做的
驱动程序不能加载!!也就说用net start mydriver,系统提示:“发生1058错误 无法启动服务,原因是他被禁用或与他相关的设备没有启动“(这只是一个模型,还没有与硬件交互)。请问,这到底是哪儿错了(编译肯定没错了)?? 我用softice 进行跟踪,结果发现在进入DriverEntry()函数以后,就退出了,然后系统提示上面的错误!! (我本来在一个多月前就开始看书的,可惜中途出差一个月,但是最近我们这东西又急着用。。望大家多多支持) |
|
|
沙发#
发布于:2002-04-26 15:43
哦!那是因为你的驱动程序初始化函数返回了一个非成功值(非0)
|
|
板凳#
发布于:2002-04-26 18:20
老大:
你说的很有道理,我也是这样想的,我跟踪进去看了,status是等于 0的,何况我是用驱动向导做的框架而已阿!!我怀疑可能是visual studio 的环境可能没设对,可是他书上给的例子为什么又能呢?? 我对比了一下,找不到原因,帮我想想老大好吧?? |
|
|
地板#
发布于:2002-04-28 11:19
老大:
我昨天又做了以下试验,特地作了如下修改 if(status !=STATUS_SUCCESS) { DbgPrint(\"QLOUTDRV: DriverEntry failled\\n\"); } DbgPrint(\"QLOUTDRV: DriverEntry sucessfully\\n\"); return status; 结果输出QLOUTDRV: DriverEntry sucessfully,你看到底该怎么弄阿??我很迷茫。。。 |
|
|
地下室#
发布于:2002-04-28 23:09
你安装的时候是怎么安装的啊?我写了一个驱动程序,用DS里面的那个监视器启动的,很好啊!只要你的驱动程序还没有和别的硬件或程序进行通信,而最后的返回值是0的话,那么估计你的驱动程序在第一次安装的时候是可以加载的,现在你最好还是用我说的那种方法进行加载吧!还有一种方法就是在DOS窗口下用SC这个命令,这个命令很好用的!具体的也有帮助
sc /? |
|
5楼#
发布于:2002-04-29 14:08
我是这样的:
用《w2K 设备驱动程序设计指南>>提供的一个驱动向导,该向导 其实也没做别的,就是把visual studio 的环境设置做了修改! 还自动生成协注册表文件,没有安装信息。我用书上提供的例子, 在visual studio一编译,跟编译win32程序一样,把my.sys拷在system32\\drivers目录下,在执行一下写注册表文件(自己可以修改start值),reboot ,用net start mydriver就可已启动!!同样用 softice还可以跟踪原码!我自己做的跟这也一样!!为什么就不能呢? 我不是用的ds,你说的是什么方法加载?还有SC是干嘛的我怎么不能用?说不是内部或外部命令,也不是可运行的批处理文件? 谢谢!! |
|
|
6楼#
发布于:2002-04-29 16:37
我的系统是2KADV,肯定有SC这个命令啊!你找一个DS吧!我有的时候也碰到这个情况,实在不行就通过设备管理器把你写的那个驱动程序卸载掉再从新安装!
|
|
7楼#
发布于:2002-04-30 13:46
谢谢你guardee
我决定换个方式,不用它的向导,用DS吧,包装之后,感觉不踏实 我干脆用其他编辑器,在ddk环境下编译算了!!这样来的踏实!! |
|
|
8楼#
发布于:2002-05-01 11:56
啊!SC是SDK里面提供的一个工具,其实我一直都建议安装一个SDK的了!因为我觉得里面的例子比较有用
|
|
9楼#
发布于:2002-05-08 14:12
guardee
你说的sdk,是什么sdk??不是ddk吧?告诉我怎么得到它好吗? 我好不容易找了一个sdk包结果是windows media player sdk应该不是这吧? |
|
|
10楼#
发布于:2002-05-08 15:17
我想应该是Platform SDK吧?微软网站上有的。
|
|
|
11楼#
发布于:2002-05-08 15:17
你在哪里啊?我在北京,可以的话把盘给你,你自己刻一张吧
|
|
12楼#
发布于:2002-05-09 09:16
你查一下AddDevice(), StartDevice()这两个例程,查一下它们的返回值是否是成功。
|
|
13楼#
发布于:2002-05-09 11:54
blue 都进不了adddevice(),StartDevice(),driverentry()后就退出了!但是返回的是0。
guardee:我在郑州,你告诉我在哪下嘛,是什么sdk,我真的不太清楚阿谢谢 |
|
|
14楼#
发布于:2002-05-09 12:22
有一本书上面的配套光盘有的,是WINDOWS网络编程,机械电子工业出版社出版的
|
|
15楼#
发布于:2002-05-09 12:22
有一本书上面的配套光盘有的,是WINDOWS网络编程,机械工业出版社出版的
|
|
16楼#
发布于:2002-05-09 15:34
好象判断语句不应是
if(status!=STATUS_SUCCESS) { ...... }吧!!!! 好象是 if(!NT_SUCCESS(status)) { } 这两者好象有区别的。 |
|