aohan
驱动牛犊
驱动牛犊
  • 注册日期2003-08-26
  • 最后登录2004-05-13
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1045回复:0

用Setupdixxx remove device --》need reboot?

楼主#
更多 发布于:2004-04-27 13:42
    我想请教如何实现CDROM的热拔插。就像虚拟光驱软件中随时动态的添加和删除CDROM。我做的真正的scsi controller。
    用SetupDixxxx函数能够移走CDROM但是如果光驱中有盘的话就有可能需要重新启动,如果这时你硬是要从驱动中(miniport Driver)把CDROM remove掉的话,然后通过ScsiPortNotification通知port Driver后就会出现不安全拔插。
    但是虚拟光驱软件却做到了这一点,不知道是怎么实现的。而同样的问题在remove harddisk中并〔不会〕出现。
    我猜,系统remove 时发的irp_mn_remove_query命令时某个驱动拒绝了它,可能是file system。以为我在setupdi.log中发现了如下log
    设备安装函数: DIF_REMOVE。
卸载 SCSI\\CDROM&VEN_LG&PROD_CD-ROM_CRD-8402B&REV_2.00\\4&283BF443&1&000 时的查询删除被 SCSI\\CdRom&Ven_LG&Prod_CD-ROM_CRD-8402B&Rev_2.00\\4&283bf443&1&000 否决(否决类型 5)
设备需要重新启动: 查询删除失败(卸载) CfgMgr32 代码: 23。
设备删除。
游客

返回顶部