pgl_2002
驱动牛犊
驱动牛犊
  • 注册日期2002-07-24
  • 最后登录2008-10-30
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望4点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1453回复:7

请教斑竹和各位大侠,驱动程序安装以后老是提示重启,怎么解决?

楼主#
更多 发布于:2003-03-28 10:45
各位版主和大侠,小弟为一块用878作的图像采集卡写了一个2000下的WDM驱动程序,
是一般的那种功能驱动程序,并不是小端口驱动程序,但是安装了以后,老是提示
需要重启,而重启后,硬件老是不能正常工作,请问各位大侠,这是inf文件的问题
还是驱动程序内部例程的问题?
小弟的inf文件是用DDK的工具GENINF生成的,驱动例程是WDM格式的,请问如果问题出在
驱动程序例程中,那这种情况,问题一般出现在哪个例程中?谢谢各位大侠了。
小弟很急,因为这个东西,老板不让俺走人。
Tom.Cat
禁止发言
禁止发言
  • 注册日期2001-10-10
  • 最后登录2019-07-29
  • 粉丝1
  • 关注0
  • 积分-53792分
  • 威望197411点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2003-03-29 08:27
用户被禁言,该主题自动屏蔽!
pgl_2002
驱动牛犊
驱动牛犊
  • 注册日期2002-07-24
  • 最后登录2008-10-30
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望4点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-03-30 11:44
兄台,现在重启的问题小弟已经解决,但是现在又面临一个新的问题:
驱动程序安装上以后,计算机给板卡所分配的硬件中断号比较大,和没有安装以前的默认中断号不一样,比如,如果没安装驱动,系统给硬件分配的中断号是05,但是安装以后就变成了16了,这是什么原因?因为我在驱动中需要做大量的中断处理,这个有影响吗?

还有一个就是,现在在应用层运行DeviceIoControl例程,一调用就重启计算机,请问这是什么造成的?

谢谢了。
Xman
驱动大牛
驱动大牛
  • 注册日期2001-08-24
  • 最后登录2011-10-07
  • 粉丝0
  • 关注0
  • 积分343分
  • 威望127点
  • 贡献值0点
  • 好评度34点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-03-30 12:09
DeviceIoControl例程,一调用就重启计算机-----可能是页故障!

我以前遇到过,你可以激活softice看看!


wdm是支持pnp的,中断号由系统分配,应该没影响!
[img]http://www.driverdevelop.com/forum/upload/Xman/2004-04-05_2004324183110706.jpg[/img]
pgl_2002
驱动牛犊
驱动牛犊
  • 注册日期2002-07-24
  • 最后登录2008-10-30
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望4点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-03-30 15:31
哦,谢谢兄台,我用了softice进行调试,也发现确实是页故障引起的,但是小弟在故障地方设置了断点后,一运行,就重启,不知道那句语句出了问题?因为故障地方的语句并不会引起页故障啊。请问兄台,在2000下,那几种情况会引起也故障?
exdata
驱动牛犊
驱动牛犊
  • 注册日期2002-11-11
  • 最后登录2007-07-16
  • 粉丝0
  • 关注0
  • 积分30分
  • 威望3点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-03-31 12:43
SI 启动选BOOT;
初始化加入FAULTS ON;

再试一试。。。。
yuri69
驱动小牛
驱动小牛
  • 注册日期2002-07-12
  • 最后登录2005-12-31
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-04-01 20:39
我一般遇到这种情况是因为 deviceIoControl 中传下去的内存块

比在驱动中开辟的内存大,就引起这样的故障。

注意 deviceIoControl 中的 表示内存大小的参数是Byte

如果你的是 DWORD应该 用 Sizeof(DWORD)*Number。

不知道是否对你有用,见笑了
我不会停止对你的思念,就像呼吸一样,我不去特意的想,但是,只能屏息,而不可能停止
mailme
驱动老牛
驱动老牛
  • 注册日期2001-05-21
  • 最后登录2010-02-25
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望3点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2003-04-05 13:16
不知道你是否是directio,如果是,看看你用了函数MmProbeAndLockPages没有,如果有就去掉,这是给上层过滤器用的,我的驱动以前就有重起的毛病;另外,MmGetSystemAddressForMdlSafe是访问mdl的正确方式

不知道对你有没有用,你再仔细看看
早起早睡 精神百倍
游客

返回顶部