tigerL
驱动小牛
驱动小牛
  • 注册日期2003-12-24
  • 最后登录2008-10-28
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望23点
  • 贡献值0点
  • 好评度19点
  • 原创分0分
  • 专家分0分
阅读:1715回复:5

(敬请关注)usb设备对象句柄没有全部close的情况下,拔掉设备产生的问题!

楼主#
更多 发布于:2004-08-06 23:34
问题陈述:
做了一个usb设备的驱动程序,在应用程序还持有usb设备对象句柄的情况下(此时已没有i/o操作),拔掉usb设备,然后再插上usb设备,会导致usb设备无法正常加载。IoCreateDevice设备对象的时候没有给DeviceName,而是IoRegisterDeviceInterface注册了一个设备接口类guid。跟踪此过程,发现pnp管理器没有发送IRP_MN_REMOVE_DEVICE的pnp请求,而必须等到应用程序close所有设备对象句柄之后,才会发出。

请问,如何在应用程序持有设备对象句柄的情形下,仍然彻底完成对驱动程序的卸载?请高人指点迷津!

省元坊
游客

返回顶部