一种带虚拟光驱的USB设备的识别方法技术

技术编号:3984830 阅读:1875 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种带虚拟光驱的USB设备的识别方法。当USB设备插入电脑主机时,USB设备的处理流程包括步骤:A.USB设备进行各种初始化操作;B.设置标识位;C.USB设备启动并判断存储器中的标识位的状态;D.USB设备处理电脑主机发来的获取字符串描述符请求;E.若步骤D中标识位为状态一,往后执行USB虚拟光驱操作;F.若步骤D中标识位为状态二,往后执行USB复合设备操作。本发明专利技术的有益效果是:利用上述原理和方法,不管电脑主机的Windows操作系统上是否已安装多接口的USB复合设备的驱动,USB设备插入主机后,Windows操作系统都不会弹出找不到设备驱动的警告。

【技术实现步骤摘要】

本专利技术涉及USB (Universal Serial BUS,通用串行总线)设备和电脑主机的通信 技术,尤其涉及USB复合设备和电脑主机的识别技术。
技术介绍
USB设备是指带有USB接口的设备如鼠标、键盘、打印机、扫描仪、摄像头、闪存盘、 MP3机、手机、数码相机、移动硬盘、外置光软驱、USB网卡、ADSL Modem,Cable Modem等带有 USB接口的各种外部设备。由于USB接口具有传输速度快,使用方便,支持热插拔,连接灵 活,独立供电等优点,此类设备种类已经越来越多。在USB设备的逻辑组织中,包含设备、配 置、接口和端点4个层次。每个USB设备可以包含一套或多套配置,不同的配置使设备表现 出不同的功能组合,在同一时刻,设备只能使用一套配置。一套配置可由一个或多个逻辑接 口组成,在USB协议中,一个逻辑接口代表一个基本的功能,具有多个逻辑接口的设备称为 USB复合设备。USB设备在使用时通常都需提供相应的驱动程序,USB设备厂家提供驱动程序的 途径主要是随设备提供驱动安装光盘,但这样增加了厂家的成本,同时光盘不小心划花或 遗失更会造成设备无法在新的环境下使用。针对上述不足,现有技术中是在USB设备中划 分一段存储区域来存储驱动安装程序,USB设备在原来的基础上多添加一个逻辑接口并且 在主机上把该接口暴露成一个虚拟光驱接口,把那段存储驱动安装程序的区域用此接口暴 露给电脑主机,那段存储区域在电脑主机中就显示为虚拟光驱。这种方法多添加了一个逻 辑接口使USB设备必然成为USB复合设备,首次插入设备时,由于USB复合设备的驱动尚未 安装,Windows操作系统就会弹出找不到设备驱动的警告,普通用户看到这些信息必然会茫 然失措。
技术实现思路
本专利技术的目的是为了使USB设备在Windows操作系统中不会弹出找不到设备驱动 的警告,提出了一种带虚拟光驱的USB设备的识别方法。为了实现上述目的,本专利技术提供的技术方案是1. 一种带虚拟光驱的USB设备的 识别方法,其特征在于,USB设备插入电脑主机时,USB设备的处理流程包括步骤A. USB设备进行各种初始化操作;B.设置标识位,在USB设备的存储器中设置一个标识位,并使该标识位具有两种 状态,状态一表示USB设备的驱动未安装,状态二表示USB设备的驱动已安装,当USB设备 与电脑主机连接并首次启动时,USB设备的标识位初始化为状态一,并使该标识位在之后的 启动过程中不会再被初始化,且其地址空间也不会被其它程序占用;C. USB设备启动并判断存储器标识位的状态,当标识位为状态一时,启动单接口配 置,USB设备暴露为USB虚拟光驱;当标识位为状态二时,启动多接口配置,USB设备暴露为 USB复合设备;3D. USB设备处理电脑主机发来的获取字符串描述符请求,并判断上一个请求是否 为设置配置的请求,若是并且存储器中的标识位为状态一,则把存储器的标识位设为状态 二并使USB设备重新启动;否则,继续判断存储器标识位的状态;E.若步骤D中标识位为状态一,往后执行USB虚拟光驱操作,安装USB复合设备驱 动程序,并且驱动安装程序会将Windows操作系统中为USB设备在注册表中注册的服务项 从 USBST0R 修改为 USBCCGP ; F.若步骤D中标识位为状态二,往后执行USB复合设备操作,进行各种USB复合设 备的功能性操作。本专利技术的原理是让USB设备在启动时初始化两套配置,一套配置只提供一个虚拟 光驱接口的单接口配置,另外一套配置提供包含虚拟光驱接口在内的多个逻辑接口的多接 口配置。USB设备第一次启动时总是选择单接口配置,在用该配置启动后判断电脑主机的 Windows操作系统是否已经安装设备驱动,如果驱动已安装,则重启设备,并且选择启动多 接口配置。否则不重启,继续往后执行虚拟光驱操作安装USB复合设备的驱动。本专利技术的有益效果是利用上述原理和方法,不管电脑主机的Windows操作系统 上是否已安装多接口的USB复合设备的驱动,USB设备插入主机后Windows操作系统都不 会弹出找不到设备驱动的警告。附图说明图1为本专利技术实施例的USB设备的处理流程图。图2为本专利技术实施例的Windows操作系统处理流程图。具体实施例方式下面结合附图和具体实施例对本专利技术做详细的说明。本实施例中,电脑主机选择现有技术中常用的标准配置,操作系统可以选择 Windows操作系统的WinXp,Vista,Win7等版本。当USB设备被暴露为单接口时,电脑主机 会认为此时的USB设备是一个USB虚拟光驱,电脑主机通过Windwos操作系统为USB设备加 载标准驱动程序usbstor. sys,如果该设备还未再注册表中注册驱动程序服务项,Windows 操作系统还会为USB设备在注册表中注册服务项USBST0R ;当USB设备被暴露为多接口时, 电脑主机会认为此时的USB设备是USB复合设备,电脑主机通过Windwos操作系统为USB 设备加载USB复合设备驱动程序usbccgp. sys,如果该设备还未再注册表中注册驱动程序 服务项,Windows操作系统还会为USB设备在注册表中注册服务项USBCCGP。如图1所示, 一种带虚拟光驱的USB设备的识别方法,当USB设备插入电脑主机时,USB设备的处理流程 包括步骤A. USB设备进行各种初始化操作,例如初始化存储器使得存储器可用。B.设置标识位,在USB设备的存储器中设置一个标识位,并使该标识位具有两种 状态,状态一表示USB设备的驱动未安装,状态二表示USB设备的驱动已安装,当USB设备 与电脑主机连接并首次启动时,USB设备的标识位初始化为状态一,并使该标识位在之后的 启动过程中不会再被初始化,且其地址空间也不会被其它程序占用。本实施例用零表示状 态一,非零标识状态二,当USB设备与电脑主机连接并首次启动时,USB设备的标识位初始化为状态一即零,之后的启动过程中不会再对该标识位初始化,并且该标识位的地址空间 也不会被其它程序占用。本步骤中的状态一和状态二的具体数值也可以对调。C. USB设备启动并判断存储器标识位的状态,当标识位为状态一时,启动单接口配 置,USB设备暴露为USB虚拟光驱;当标识位为状态二时,启动多接口配置,USB设备暴露为 USB复合设备;D. USB设备处理电脑主机发来的获取字符串描述符请求,并判断上一个请求是否 为设置配置的请求,若是并且存储器中的标识位为状态一,则把存储器的标识位设为状态 二并使USB设备重新启动;否则,继续判断存储器标识位的状态。E.若步骤D中标识位为状态一,往后执行USB虚拟光驱操作,安装USB复合设备 驱动程序,并且驱动安装程序会将Windows操作系统中为USB设备在注册表中注册的服务 项从USBST0R修改为USBCCGP。此步骤中往后执行虚拟光驱操作是模拟光驱操作安装USB 复合设备的驱动,安装完成后,USB设备重新启动,此时,重新启动的方式有两种,一种是用 户拔掉USB设备后再次插入,显而易见,这种方式不是很理想,二种是驱动安装程序向USB 设备发消息让设备重新启动,这个重启操作对用户就是透明的,由于此时只暴露了 USB虚 拟光驱接口给电脑主机,所以电脑主机的驱动程本文档来自技高网
...

【技术保护点】
一种带虚拟光驱的USB设备的识别方法,其特征在于,USB设备插入电脑主机时,USB设备的处理流程包括步骤:A.USB设备进行各种初始化操作;B.设置标识位,在USB设备的存储器中设置一个标识位,并使该标识位具有两种状态,状态一表示USB设备的驱动未安装,状态二表示USB设备的驱动已安装,当USB设备与电脑主机连接并首次启动时,USB设备的标识位初始化为状态一,并使该标识位在之后的启动过程中不会再被初始化,且其地址空间也不会被其它程序占用;C.USB设备启动并判断存储器标识位的状态,当标识位为状态一时,启动单接口配置,USB设备暴露为USB虚拟光驱。当标识位为状态二时,启动多接口配置,USB设备暴露为USB复合设备;D.USB设备处理电脑主机发来的获取字符串描述符请求,并判断上一个请求是否为设置配置的请求,若是并且存储器中的标识位为状态一,则把存储器的标识位设为状态二并使USB设备重新启动;否则,继续判断存储器标识位的状态;E.若步骤D中标识位为状态一,往后执行USB虚拟光驱操作,安装USB复合设备驱动程序,并且驱动安装程序会将Windows操作系统中为USB设备在注册表中注册的服务项从USBSTOR修改为USBCCGP;F.若步骤D中标识位为状态二,往后执行USB复合设备操作,进行各种USB复合设备的功能性操作。...

【技术特征摘要】

【专利技术属性】
技术研发人员:李志坚余化鹏邢保振
申请(专利权)人:四川九洲电器集团有限责任公司
类型:发明
国别省市:51[中国|四川]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1