bigstarsun
驱动牛犊
驱动牛犊
  • 注册日期2003-01-20
  • 最后登录2004-08-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1195回复:5

请教怎么卸载动态的VXD驱动

楼主#
更多 发布于:2004-05-18 15:47
程序结束时使用CloseHandle(hDevice);为什么卸载不了这个驱动程序?
OnSysDynamicDeviceInit()消息、DIOC_OPEN: DIOC_CLOSEHANDLE: OnSysDynamicDeviceExit()消息 这四个消息是怎么分别响应的?
CreateFile()函数会让VXD程序响应前面的两个消息,而DriverMonitor加载VXD时却可以只响应OnSysDynamicDeviceInit()消息呢?
我使用CloseHandle(hDevice)为什么VXD程序只响应了DIOC_CLOSEHANDLE:消息,不响应OnSysDynamicDeviceExit()消息呢?

困惑好长时间了,请DX们给予指点。
我要打印驱动dad
slwqw
驱动大牛
驱动大牛
  • 注册日期2002-07-18
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望197点
  • 贡献值0点
  • 好评度147点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-05-18 18:00
CloseHandle(hDriver);

//
// 必须调用这个函数
//            
DeleteFile(\"\\\\\\\\.\\\\YourVXD.VXD\");
bigstarsun
驱动牛犊
驱动牛犊
  • 注册日期2003-01-20
  • 最后登录2004-08-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-05-19 17:54
楼上的大侠,我试过调用DeleteFile(\"\\\\\\\\.\\\\MYVXD.VXD\");了,但没有作用,VXD程序仍然在内存里。我是用VXD View查看的。
非常感谢你的回复。
我要打印驱动dad
slwqw
驱动大牛
驱动大牛
  • 注册日期2002-07-18
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望197点
  • 贡献值0点
  • 好评度147点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-05-19 18:11
楼上的大侠,我试过调用DeleteFile(\"\\\\\\\\.\\\\MYVXD.VXD\");了,但没有作用,VXD程序仍然在内存里。我是用VXD View查看的。
非常感谢你的回复。


我一直都这样做,没有什么问题。

你的VXD是否是动态的啊?

AllenZh
驱动老牛
驱动老牛
  • 注册日期2001-08-19
  • 最后登录2015-11-27
  • 粉丝19
  • 关注10
  • 积分1316分
  • 威望2387点
  • 贡献值7点
  • 好评度321点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-05-19 20:03
不需要DeleteFile(\"\\\\\\\\.\\\\MYVXD.VXD\");
你的驱动写的有问题
1,承接Windows下驱动/应用开发 2,本人原创虚拟鼠标/键盘,触摸屏,虚拟显卡,Mirror驱动,XP无盘的SCSI虚拟磁盘驱动等 3,windows下有尝技术服务(包括BUG调试,员工培训等) 欢迎深圳和海外企业联系.msn:mfczmh@sina.com
bigstarsun
驱动牛犊
驱动牛犊
  • 注册日期2003-01-20
  • 最后登录2004-08-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-05-20 14:05
AllenZh说的对,不需要DeleteFile(\"\\\\\\\\.\\\\MYVXD.VXD\");
我又重新用QUICKVXD生成了一个框架,然后把原来有问题的VXD程序里自己写的代码添加进去,再重新生成新的VXD程序,哎~就好了。
两个程序的 cpp文件,头文件,mak文件的内容完全一样,可结果就是不一样,我也不知道到底哪儿的问题。
好像如果用QUICKVXD生成三个文件后,如果直接在文件里把驱动的名称A改成另外一个名称B的话,最后得到的B.VXD程序就有问题.

感谢楼上两位DX的指点。

我要打印驱动dad
游客

返回顶部