一种硬件设备状态自适应的方法及装置制造方法及图纸

技术编号:9838387 阅读:143 留言:0更新日期:2014-04-02 02:05
本发明专利技术提供了一种硬件设备状态自适应的方法及装置。该方法在硬件设备中设置类标识信息,当设备驱动正常时系统通过加载设备驱动执行,当设备驱动损坏或其他原因无法使用时,操作系统可以根据类标识将设备自动识别为支持的设备类并加载对应的类驱动程序。通过本发明专利技术提供的方法,无需安装驱动程序,无需人工操作,简单方便,增加了设备使用的灵活性,便于使用。

【技术实现步骤摘要】
【专利摘要】本专利技术提供了一种硬件设备状态自适应的方法及装置。该方法在硬件设备中设置类标识信息,当设备驱动正常时系统通过加载设备驱动执行,当设备驱动损坏或其他原因无法使用时,操作系统可以根据类标识将设备自动识别为支持的设备类并加载对应的类驱动程序。通过本专利技术提供的方法,无需安装驱动程序,无需人工操作,简单方便,增加了设备使用的灵活性,便于使用。【专利说明】一种硬件设备状态自适应的方法及装置
本专利技术涉及计算机驱动领域,特别涉及一种硬件设备状态自适应的方法及装置。
技术介绍
驱动程序(Device Driver)全称为“设备驱动程序”,是硬件的一部分,一般由硬件开发商提供,当安装新硬件时,驱动程序是一项不可或缺的重要元件。凡是安装一个原本不属于电脑中的硬件设备时,系统会要求安装对应的驱动程序,将新的硬件与电脑系统连接起来。驱动程序(Device Driver)全称为“设备驱动程序”,是一种可以使计算机和设备通信的特殊程序,相当于硬件与操作系统的接口,操作系统只能通过这个接口,才能控制硬件设备的工作,假如某设备的驱动程序未能正确安装,便不能正常工作。设备驱动程序用来将硬件本身的功能告诉操作系统,完成硬件设备电子信号与操作系统及软件的高级编程语言之间的互相翻译。当操作系统需要使用某个硬件时,比如:让声卡播放音乐,它会先发送相应指令到声卡驱动程序,声卡驱动程序接收到后,马上将其翻译成声卡才能听懂的电子信号命令,从而让声卡播放音乐。驱动程序提供了硬件到操作系统的一个接口以及协调二者之间的关系,而因为驱动程序有如此重要的作用,驱动程序也被形象的称为“硬件和系统之间的桥梁”。无驱设备指系统默认支持的一些设备类,操作系统为支持的USB设备类提供类驱动程序,操作系统中包含了这些设备类的驱动程序及安装文件,实现了设备类规范中所述的设备类通用功能。各类驱动程序均作为该类中所有设备的客户端驱动程序。例如,如果所连接的USB设备属于一个操作系统支持的类,则将自动加载类驱动程序,无需其他驱动程序即可保证设备正常工作。硬件供应商无需再为支持的设备类编写驱动程序。比如Microsoft支持的设备类包括蓝牙类、人机接口设备(HID)类、智能卡类等。HID (Human Interface Device,人机接口设备)主要指的是一些实现人与主机进行交互的设备,如键盘、鼠标、游戏杆等,但是HID设备不一定非要是这些人机交互设备,只要是符合HID设备级定义规范要求的都可以认为是HID设备。Windows操作系统自带了 HID类的类驱动程序Hidclass.sys。日常使用硬件的过程中,经常存在因兼容性、其他软件或驱动程序影响、没有或没有正确安装驱动程序、驱动程序丢失或损坏以及病毒等因素的影响导致硬件无法正常使用,这给用户的使用带来了极大的困扰。INF (Device INFormation File)是Microsoft公司为硬件设备制造商发布其驱动程序推出的一种描述设备安装信息的文件格式,是Windows可以找到硬件设备的驱动并正确安装的关键所在。INF文件中包含硬件设备的信息或脚本以控制硬件操作,它用特定语法的文字来说明要安装的设备类型、生产厂商、型号、要拷贝的文件、拷贝到的目标路径,以及要添加到注册表中的信息等,通过读取和解释这些内容,Windows便知道应该如何安装驱动程序,INF文件一般存储在C:/Windows/INF文件夹中。USB协议为USB设备定义了一套描述设备功能和属性的有固定结构的描述符,包括标准的描述符即设备描述符、配置描述符、接口描述符和端点描述符,他们通常被保存在USB设备的固件程序中。USB设备通过描述符反映自己的设备特性。每个USB设备只有一个设备描述符,由一个或多个配置组成。设备描述符用于说明设备的总体信息(如制造商标识号ID、产品ID等),并指明其所含的配置的个数。一个USB设备可以包含一个或多个配置,每个配置对应一个配置描述符,配置描述符用于说明USB设备中各个配置的特性,如配置所含接口的个数等。配置描述符中又定义了该配置里面有多少个接口,每个接口对应一个接口描述符,接口描述符用于说明USB设备中各个接口的特性,如接口所属的设备类及其子类等。端点是USB设备中的实际物理单元,用以描述端点的属性以及各个端点的位置。端点作为通信管道的终点,有四种类型:批量(Bulk)、控制(Contorl)、中断(Interrupt)和同步(Isochronous), HID类设备只有控制端点和中断端点。设备的接口描述符中描述了类标识信息,USB协议根据功能进行划分,为不同的类定义不同的值(十六进制),如音频类0x01、人机接口类(HID) 0x03、智能卡类OxOB等。
技术实现思路
有鉴于此,本专利技术提供了一种自动加载设备驱动的方法。一种自动加载设备驱动的方法,所述方法用于自适应地在操作系统中加载设备驱动,所述方法至少包括如下步骤: 步骤1:将设置有类标识的硬件设备与主机电连接; 步骤2:操作系统自动检测新接入的所述设置有类标识的硬件设备; 步骤3:操作系统读取所述硬件设备内的所述设备描述符获取设备标识信息; 步骤4:操作系统根据所述设备标识信息查找注册表中是否存在所述硬件设备的注册表项,如果存在,则执行步骤5,否则,执行步骤6 ; 步骤5:操作系统动态地装载所述硬件设备的驱动程序; 步骤6:操作系统根据所述设备标识信息查找INF目录下是否存在所述硬件设备的INF文件,如果查找到与所述设备标识信息相符的所述硬件设备的INF,执行步骤7,如果没有找到,则执行步骤8; 步骤1:操作系统根据所述INF文件中描述的安装信息自动安装驱动程序并填写注册表; 步骤8:操作系统读取所述硬件设备的接口描述符,获取类标识信息; 步骤9:操作系统根据所述类标识信息,自动装载类驱动程序。所述步骤I中所述硬件设备中设置的类标识包括HID类标识、智能卡类标识。根据本专利技术的一个方面,所述USB协议规定的HID类标识为0x03。所述步骤3中获取所述设备标识信息至少包括制造商标识号ID、和/或产品ID、和/或产品序列号、和/或所属设备类号、和/或产品字符串。所述步骤4中所述用于查找注册表项的标识信息包括制造商标识号ID、和/或产品ID0所述步骤9中所述的类驱动程序为操作系统默认支持的设备类对应的类驱动程序。根据本专利技术的一个方面,所述操作系统中默认支持HID类,其对应类驱动程序Hidclass.sys。本专利技术通过在硬件设备中设置类标识,使得系统可以在设备驱动存在问题无法正常工作时,自动识别类标识,加载类驱动程序,在设备驱动没有问题时,使用设备自有驱动。通过本专利技术提供的方法,无需人工操作,简单方便,增加了设备使用的灵活性,便于使用。【专利附图】【附图说明】图1为按照本专利技术的一种设备状态自适应的一个优选实施方式的流程示意图。图2为按照本专利技术的一种设备状态自适应的实施例1的流程示意图。图3为按照本专利技术的一种设备状态自适应的实施例2的流程示意图。【具体实施方式】为使本专利技术的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本专利技术进一步详细说明。本专利技术的增加类标识的方法适用于所有可设置类标识的硬件设备,如数码相机、USB本文档来自技高网
...

【技术保护点】
一种自动加载设备驱动的方法,所述方法用于自适应地在操作系统中加载设备驱动,其特征在于,所述方法至少包括如下步骤:步骤1:将设置有类标识的硬件设备与主机电连接;步骤2:操作系统自动检测新接入的所述设置有类标识的硬件设备;步骤3:操作系统读取所述硬件设备内的所述设备描述符获取设备标识信息;步骤4:操作系统根据所述设备标识信息查找注册表中是否存在所述硬件设备的注册表项,如果存在,则执行步骤5,否则,执行步骤6;步骤5:操作系统动态地装载所述硬件设备的驱动程序;步骤6:操作系统根据所述设备标识信息查找INF目录下是否存在所述硬件设备的INF文件,如果查找到与所述设备标识信息相符的所述硬件设备的INF,执行步骤7,如果没有找到,则执行步骤8;步骤7:操作系统根据所述INF文件中描述的安装信息自动安装驱动程序并填写注册表;步骤8:操作系统读取所述硬件设备的接口描述符,获取类标识信息;步骤9:操作系统根据所述类标识信息,自动装载类驱动程序。

【技术特征摘要】

【专利技术属性】
技术研发人员:孙吉平韩勇
申请(专利权)人:北京深思数盾科技有限公司
类型:发明
国别省市:北京;11

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

1