juanshu
驱动牛犊
驱动牛犊
  • 注册日期2001-06-17
  • 最后登录2014-11-05
  • 粉丝0
  • 关注0
  • 积分36分
  • 威望45点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
阅读:2177回复:5

有关SOFTICE的怪现象

楼主#
更多 发布于:2001-07-24 14:51
我用SOFTICE调试动态VXD程序,第一次加载能正常在断点出断下来,但再次加载VXD时,就不断了(偶尔还发现对VXD做过更改后重新编译,再用SOFTICE 的SYMBOL LOADER重新生成NMS文件,加载VXD时就能断下来,但并不总是这样),要重新启动计算机才能正常断下来,
不知是何原因,请赐教!!!
Buddha
驱动老牛
驱动老牛
  • 注册日期2001-04-29
  • 最后登录2013-05-18
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望17点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2001-07-24 21:11

可能是你的vxd死在系统里了,那样就必须从起才可以:(

<table style="filter: glow(color=sky blue, strength=10)"> <font color=white> 猫生病了, 老鼠大声朗诵诗集, 并修剪盆花. 猫生病了, 老鼠慢慢刷牙洗脸, 并打扫房间. 猫生病了, 老鼠倚在窗边欣赏夜色, 并对流星许愿. 猫生病了, 老鼠也病了, 它说:"我还是习惯那种时时紧张, 处处小心, 夜夜逃亡的生活." 午夜, 我听到老鼠在叹息, 且不再读诗了. </font></table>
juanshu
驱动牛犊
驱动牛犊
  • 注册日期2001-06-17
  • 最后登录2014-11-05
  • 粉丝0
  • 关注0
  • 积分36分
  • 威望45点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2001-07-31 10:04
知道原因了,是因为驱动已经加载过一次,第二次就不再从新加载。
现在有一个新问题,用CreateFile加载一个驱动后,如何把它卸载呢?
Buddha
驱动老牛
驱动老牛
  • 注册日期2001-04-29
  • 最后登录2013-05-18
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望17点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
地板#
发布于:2001-07-31 13:02

是这样的:
如果你的驱动程序试可以静态加载的,那么静态加载的部分只会加载一次(出非系统从新启动),而动态的部分可以关闭/加载很多次,
但是如果vxd在收到ON_SYS_DYNAMIC_DEVICE_INIT消息后,如果未受到ON_SYS_DYNAMIC_DEVICE_EXIT消息,则不回载响应ON_SYS_DYNAMIC_DEVICE_INIT消息,
就是说:如果你打开设备而不关闭他就在此进行打开的操作,则vxd不会响应。
动态加载用CreateFile,收到ON_SYS_DYNAMIC_DEVICE_INIT消息
动态卸在用CloseHandle,收到ON_SYS_DYNAMIC_DEVICE_EXIT消息
系统在调用Createfile的应用程序结束时,如果未调用closehandle,则自动调用

累死我了,你还是看vtools的文档吧,关于deviceiocontrol那部分的,讲得很详细的

<table style="filter: glow(color=sky blue, strength=10)"> <font color=white> 猫生病了, 老鼠大声朗诵诗集, 并修剪盆花. 猫生病了, 老鼠慢慢刷牙洗脸, 并打扫房间. 猫生病了, 老鼠倚在窗边欣赏夜色, 并对流星许愿. 猫生病了, 老鼠也病了, 它说:"我还是习惯那种时时紧张, 处处小心, 夜夜逃亡的生活." 午夜, 我听到老鼠在叹息, 且不再读诗了. </font></table>
juanshu
驱动牛犊
驱动牛犊
  • 注册日期2001-06-17
  • 最后登录2014-11-05
  • 粉丝0
  • 关注0
  • 积分36分
  • 威望45点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2001-08-01 13:53
我有调用CloseHandle呀,可我用SOFTICE调试发现,CloseHandle调用并没有触发ON_SYS_DYNAMIC_DEVICE_EXIT消息,不知是怎么回事?
ccc
ccc
驱动牛犊
驱动牛犊
  • 注册日期2001-07-15
  • 最后登录2005-03-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2001-08-08 20:38
我在某本书上看到好象是说只要你调用了VXD 服务,就不可以卸载了。
游客

返回顶部