CN101702143A - 修改usb设备驱动匹配信息的方法及装置 - Google Patents

修改usb设备驱动匹配信息的方法及装置 Download PDF

Info

Publication number
CN101702143A
CN101702143A CN200910249779A CN200910249779A CN101702143A CN 101702143 A CN101702143 A CN 101702143A CN 200910249779 A CN200910249779 A CN 200910249779A CN 200910249779 A CN200910249779 A CN 200910249779A CN 101702143 A CN101702143 A CN 101702143A
Authority
CN
China
Prior art keywords
information
request
driving
equipment
character string
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN200910249779A
Other languages
English (en)
Other versions
CN101702143B (zh
Inventor
蒋文春
薛贵荧
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Device Co Ltd
Huawei Device Shenzhen Co Ltd
Original Assignee
Shenzhen Huawei Communication Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Huawei Communication Technologies Co Ltd filed Critical Shenzhen Huawei Communication Technologies Co Ltd
Priority to CN200910249779XA priority Critical patent/CN101702143B/zh
Publication of CN101702143A publication Critical patent/CN101702143A/zh
Priority to JP2012541309A priority patent/JP5360630B2/ja
Priority to EP10834225A priority patent/EP2447850B1/en
Priority to ES10834225T priority patent/ES2404166T3/es
Priority to PCT/CN2010/079326 priority patent/WO2011066792A1/zh
Application granted granted Critical
Publication of CN101702143B publication Critical patent/CN101702143B/zh
Priority to US13/408,113 priority patent/US8527670B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0042Universal serial bus [USB]

Abstract

本发明的实施例公开了一种修改USB设备驱动匹配信息的方法及装置,涉及USB设备领域,在设备的PID或者端口编号改变后,不用修改驱动匹配文件同样可以确定与该设备对应的驱动程序。本发明包括:当即插即用管理器向物理设备对象发送查询设备信息请求时,过滤驱动截获所述查询设备信息请求,并所述查询设备信息请求发送给所述枚举驱动;所述过滤驱动接收所述枚举驱动根据所述查询设备信息请求返回的设备信息,并根据所述返回的设备信息和所述设备的兼容信息,组成包含设备厂商标识、设备子类型以及设备协议类型的设备驱动匹配字符串;将所述组成的设备驱动匹配字符串发送给所述即插即用管理器。本发明实施例主要用于设备驱动匹配的过程中。

Description

修改USB设备驱动匹配信息的方法及装置
技术领域
本发明涉及USB设备领域,尤其涉及一种修改USB设备驱动匹配信息的方法及装置。
背景技术
根据USB(Universal Serial Bus,通用串行总线)规范,USB设备的驱动匹配字符串主要有以下三中格式:第1种,由vid(vendor identification,厂商标识)、PID(product identification,产品标识)以及产品端口编号组成,表示为如下形式,vid_xxxx&pid_yyyy&mi_zz;第2种,由vid、subclass(设备子类型)以及设备protocol(协议类型)组成,表示为如下形式,vid_xxxx&subclass_yy&prot_zz;第3种,由class(设备类型)、subclass以及设备protocol组成,表示为如下形式,class_xx&subclass_yy&prot_zz。
其中,第1种和第2种可以通过Vid标识不同的厂商,但是由于windows系统不支持第2种格式,第3种格式不能标识各个厂商,于是各OEM(originalequipment manufacturer,原始设备制造商)制造的USB设备驱动匹配字符串大都采用第1种格式的驱动匹配字符串。并且各厂商通常是一套驱动适用于所有同类产品,而各同类产品间采用不同的PID加以区分。
为使设备驱动能够正确的匹配,需要在操作系统中预设对应于该种设备的驱动匹配字符串表,当设备需要驱动时,仅需要获取所述设备的驱动匹配字符串,并到所述驱动匹配字符串表中查找与对该驱动匹配字符串对应的设备驱动即可。
在实现上述设备匹配驱动的过程中,发明人发现现有技术中至少存在如下问题:第1种格式的缺陷在于设备驱动匹配字符串受限于设备的PID,只要PID更改,就必须修改驱动匹配文件,从而增加维护和认证的成本。
发明内容
本发明的实施例提供一种修改USB设备驱动匹配信息的方法及装置,使在设备的PID或者端口编号改变后,不用修改驱动匹配文件同样可以确定与所述设备对应的驱动,节约驱动维护和认证成本。
为达到上述目的,本发明的实施例采用如下技术方案:
一种修改USB设备驱动匹配信息的方法,包括:
当即插即用管理器向物理设备对象发送查询设备信息请求时,过滤驱动截获所述查询设备信息请求,并将截获的所述查询设备信息请求发送给所述枚举驱动;
所述过滤驱动接收所述枚举驱动根据所述查询设备信息请求返回的设备信息,并根据所述返回的设备信息和所述设备的兼容信息,组成包含设备厂商标识、设备子类型以及设备协议类型的设备驱动匹配字符串;
将所述组成的设备驱动匹配字符串发送给所述即插即用管理器。
一种修改USB设备驱动匹配信息的装置,包括:
信息请求获取模块,用于当即插即用管理器向物理设备对象发送查询设备信息请求时,过滤驱动截获所述查询设备信息请求;
信息请求发送模块,用于将所述信息请求获取模块截获的所述查询设备信息请求发送给所述枚举驱动;
信息接收模块,用于所述过滤驱动接收所述枚举驱动根据所述查询设备信息请求返回的设备信息;
组成模块,用于根据所述返回的设备信息和所述设备的兼容信息,组成包含设备厂商标识、设备子类型以及设备协议类型的设备驱动匹配字符串;
字符串发送模块,用于将所述组成模块组成的设备驱动匹配字符串发送给所述即插即用管理器。
本发明技术方案中,在枚举驱动上增加一层过滤驱动,当即插即用管理器向物理设备对象发送查询设备信息请求,通过过滤驱动截获所述查询设备信息请求,并且在所述枚举驱动根据所述查询设备信息请求返回的设备信息后,根据所述返回的设备信息和所述设备的兼容信息,组成包含设备厂商标识、设备子类型以及设备协议类型的设备驱动匹配字符串,并将所述组成的设备匹配字符串发送给所述即插即用管理器,从而使操作系统可以根据所述设备驱动匹配字符串中的厂商标识、设备子类型以及设备协议类型信息实现设备驱动程序的匹配;与现有技术中相比,本发明技术方案中,针对一个设备厂商,仅需要根据设备子类型和设备协议类型编写设备驱动程序的匹配字符串,便可以实现同类设备的驱动程的匹配,后续无论同类设备的设备标识或者端口编号如何改变,都不用重新编写相应设备的驱动匹配字符串,做到同类产品同类端口的设备的驱动匹配字符串一次开发,重复使用,在大规模生产时可以极大的节约驱动维护和认证成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例1修改USB设备驱动匹配信息的方法流程图;
图2为本发明实施例2修改USB设备驱动匹配信息的方法流程图;
图3为本发明实施例3修改USB设备驱动匹配信息的装置组成框图;
图4为本发明实施例4修改USB设备驱动匹配信息的装置组成框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
本发明实施例提供一种修改USB设备驱动匹配信息的方法,如图1所示,该方法包括:
101、当即插即用管理器向物理设备对象发送查询设备信息请求时,过滤驱动截获所述查询设备信息请求,并将截获的所述查询设备信息请求发送给枚举驱动;所述过滤驱动为在所述枚举驱动上新增加的一层驱动程序。
其中,将截获的所述查询设备信息请求发送给枚举驱动,以便所述枚举驱动根据所述查询请求将所述设备信息返回,所述枚举驱动返回的设备信息为字符串格式,设备厂商标识、产品标识和产品端口编号,所述设备信息的标识形式如vid_xxxx&pid_yyyy&mi_zz。
102、所述过滤驱动接收所述枚举驱动根据所述查询设备信息请求返回的设备信息,并根据所述返回的设备信息和所述设备的兼容信息,组成包含设备厂商标识、设备子类型以及设备协议类型的设备驱动匹配字符串,该字符串可表示为:vid_xxxx&subclass_yy&prot_zz。
其中,所述设备的兼容信息为字符串的形式包括设备类型、设备子类型以及设备协议类型,其表示形式如class_xx&subclass_yy&prot_zz,需要在所述过滤驱动根据所述返回的设备信息和所述设备的兼容信息,组成包含设备厂商标识、设备子类型以及设备协议类型的设备驱动匹配字符串之前,通过所述过滤驱动向所述物理设备对象发送查询设备兼容信息请求,获取所述设备的兼容信息。
103、将所述组成的设备驱动匹配字符串发送给所述即插即用管理器,以便所述即插即用管理器根据所述组成的设备驱动匹配字符串,查找到与所述设备匹配的驱动程序。
本发明实施例中,在枚举驱动上增加一层过滤驱动,当即插即用管理器向物理设备对象发送查询设备信息请求,通过过滤驱动截获所述查询设备信息请求,并且在所述枚举驱动根据所述查询设备信息请求返回的设备信息后,根据所述返回的设备信息和所述设备的兼容信息,组成包含设备厂商标识、设备子类型以及设备协议类型的设备驱动匹配字符串,并将所述组成的设备匹配字符串发送给所述即插即用管理器,从而使操作系统可以根据所述设备驱动匹配字符串中的厂商标识、设备子类型以及设备协议类型信息实现设备驱动程序的匹配;与现有技术中相比,本发明技术方案中,针对一个设备厂商,仅需要根据设备子类型和设备协议类型编写设备驱动程序的匹配字符串,便可以实现同类设备的驱动程的匹配,后续无论同类设备的设备标识或者端口编号如何改变,都不用重新编写相应设备的驱动匹配字符串,做到同类产品同类端口的设备的驱动匹配字符串一次开发,重复使用,在大规模生产时可以极大的节约驱动维护和认证成本。
实施例2
本发明实施例提供一种修改USB设备驱动匹配信息的方法,如图2所示,该方法包括:
201、当即插即用管理器下发的查询设备列表请求时,过滤驱动截获所述查询设备列表请求,并将截获的所述查询设备列表请求发送给枚举驱动;所述过滤驱动为在枚举驱动上新增加的一层驱动程序。
其中,所述将所述查询设备列表请求发送给枚举驱动,以便所述枚举驱动根据所述查询设备列表请求枚举所有的设备,并将所述枚举的所有设备的列表返回给即插即用管理器。进一步,为了使系统得知枚举驱动根据所述查询设备列表请求枚举所有的设备完成的操作,一般在截获所述查询设备列表请求后,为该请求注册一个完成回调函数。
202、当所述枚举驱动根据所述查询设备列表请求返回设备列表时,所述过滤驱动接收所述枚举驱动根据所述查询设备列表请求返回的设备列表,根据所述设备列表为所述设备列表中的每一个设备创建一个过滤设备对象,并将创建的所述过滤设备对象添加到对应的子设备栈中。
进一步,当所述枚举驱动根据所述查询设备列表请求返回设备列表时,由系统自动调用所述为查询设备列表请求注册的完成回调函数,执行所述根据枚举驱动返回的所述设备列表,为所述设备列表中的每一个设备创建一个过滤设备对象,并将创建的所述过滤设备对象添加到对应的子设备栈中。
其中,所述过滤驱动根据枚举驱动返回的设备列表,为所述设备列表中的每一个设备创建一个过滤设备对象,并将创建的所述过滤设备对象添加到对应的子设备栈中,目的是为了保证所述新添加的过滤驱动程序能够根据子设备栈中的过滤设备对象列表截获所述即插即用管理器下发的查询设备信息请求,并可以对所述枚举驱动返回的设备信息进行修改。
203、将所述枚举驱动返回的所述设备列表发送给所述即插即用管理器,以便所述即插即用管理器根据所述设备列表,向所述列表中的设备发送查询设备信息请求。
204、当即插即用管理器向物理设备对象发送查询设备信息请求时,所述过滤驱动截获所述查询设备信息请求,并将截获的所述查询设备信息请求发送给所述枚举驱动。
其中,将截获的所述查询设备信息请求发送给所述枚举驱动,以便所述枚举驱动根据所述查询请求将所述设备信息返回,所述枚举驱动返回的设备信息为字符串格式,设备厂商标识、产品标识和产品端口编号,所述设备信息的标识形式如vid_xxxx&pid_yyyy&mi_zz。进一步,为了使系统得知枚举驱动根据所述查询设备信息请求枚举所述设备信息完成的操作,一般在截获所述查询设备信息请求后,为该请求注册一个完成回调函数。
205、当所述枚举驱动根据所述查询设备信息请求返回的设备信息时,所述过滤驱动接收所述枚举驱动返回的所述设备信息,并根据所述返回的设备信息和所述设备的兼容信息,组成包含设备厂商标识、设备子类型以及设备协议类型的设备驱动匹配字符串,该字符串可表示为:vid_xxxx&subclass_yy&prot_zz。
进一步,当所述枚举驱动根据所述查询设备信息请求返回设备信息时,由系统自动调用所述为查询设备信息请求注册的完成回调函数,执行所述根据所述返回的设备信息和所述设备的兼容信息,组成包含设备厂商标识、设备子类型以及设备协议类型的设备驱动匹配字符串。
其中,所述设备的兼容信息为字符串的形式包括设备类型、设备子类型以及设备协议类型,其表示形式如class_xx&subclass_yy&prot_zz,需要在所述过滤驱动根据所述返回的设备信息和所述设备的兼容信息,组成包含设备厂商标识、设备子类型以及设备协议类型的设备驱动匹配字符串之前,所述过滤驱动向所述物理设备对象发送查询设备兼容信息请求,获取所述设备的兼容信息。
206、将所述组成的设备驱动匹配字符串发送给所述即插即用管理器,以便所述即插即用管理器根据所述组成的设备驱动匹配字符串,查找到与所述设备匹配的驱动程序。
本发明实施例中,在枚举驱动上增加一层过滤驱动,通过增加的过滤驱动截获即插即用管理器向物理设备对象发送查询设备信息请求,并且在所述枚举驱动根据所述查询设备信息请求返回的设备信息后,根据所述返回的设备信息和所述设备的兼容信息,组成包含设备厂商标识、设备子类型以及设备协议类型的设备驱动匹配字符串,并将所述组成的设备匹配字符串发送给所述即插即用管理器,从而使操作系统可以根据所述设备驱动匹配字符串中的厂商标识、设备子类型以及设备协议类型信息实现设备驱动程序的匹配;与现有技术中相比,本发明实施例中,针对一个设备厂商,仅需要根据设备子类型和设备协议类型编写设备驱动程序的匹配字符串,便可以实现同类设备的驱动程的匹配,后续无论同类设备的设备标识或者端口编号如何改变,都不用重新编写相应设备的驱动匹配字符串,做到同类产品同类端口的设备的驱动匹配字符串一次开发,重复使用,在大规模生产时可以极大的节约驱动维护和认证成本。
实施例3
本发明实施例提供一种修改USB设备驱动匹配信息的装置,如图3所示,该装置包括:信息请求获取模块31、信息请求发送模块32、信息接收模块33、组成模块34和字符串发送模块35。
信息请求获取模块31,用于当即插即用管理器向物理设备对象发送查询设备信息请求时,过滤驱动截获所述查询设备信息请求,所述过滤驱动为在枚举驱动上新增加的一层驱动程序;在截获所述查询设备信息请求后,信息请求发送模块32用于将所述信息请求获取模块31截获的所述查询设备信息请求发送给所述枚举驱动,以便所述枚举驱动根据所述查询请求将所述设备信息返回,所述枚举驱动返回的设备信息为字符串格式,设备厂商标识、产品标识和产品端口编号,所述设备信息的标识形式如vid_xxxx&pid_yyyy&mi_zz。
当枚举驱动接收到所述查询设备信息请求后,将所述设备信息返回时,信息接收模块33用于所述过滤驱动接收所述枚举驱动返回的所述设备信息;组成模块34用于根据所述返回的设备信息和所述设备的兼容信息,组成包含设备厂商标识、设备子类型以及设备协议类型的设备驱动匹配字符串,该字符串可表示为:vid_xxxx&subclass_yy&prot_zz;字符串发送模块35用于将所述组成模块34组成的设备驱动匹配字符串发送给所述即插即用管理器,以便所述即插即用管理器根据所述组成的设备驱动匹配字符串,查找到与所述设备匹配的驱动程序。
其中,所述设备的兼容信息为字符串的形式包括设备类型、设备子类型以及设备协议类型,其表示形式如class_xx&subclass_yy&prot_zz,需要在所述过滤驱动根据所述返回的设备信息和所述设备的兼容信息,组成包含设备厂商标识、设备子类型以及设备协议类型的设备驱动匹配字符串之前,通过所述过滤驱动向所述物理设备对象发送查询设备兼容信息请求,获取所述设备的兼容信息。
本发明实施例中,在枚举驱动上增加一层过滤驱动,当即插即用管理器向物理设备对象发送查询设备信息请求,通过所述过滤驱动截获所述查询设备信息请求,并且在所述枚举驱动根据所述查询设备信息请求返回的设备信息后,根据所述返回的设备信息和所述设备的兼容信息,组成包含设备厂商标识、设备子类型以及设备协议类型的设备驱动匹配字符串,并将所述组成的设备匹配字符串发送给所述即插即用管理器,从而使操作系统可以根据所述设备驱动匹配字符串中的厂商标识、设备子类型以及设备协议类型信息实现设备驱动程序的匹配;与现有技术中相比,本发明实施例中,针对一个设备厂商,仅需要根据设备子类型和设备协议类型编写设备驱动程序的匹配字符串,便可以实现同类设备的驱动程的匹配,后续无论同类设备的设备标识或者端口编号如何改变,都不用重新编写相应设备的驱动匹配字符串,做到同类产品同类端口的设备的驱动匹配字符串一次开发,重复使用,在大规模生产时可以极大的节约驱动维护和认证成本。
实施例4
本发明实施例提供一种修改USB设备驱动匹配信息的装置,如图4所示,该装置包括:列表请求获取模块41、列表请求发送模块42、列表接收模块43、创建模块44、添加模块45、信息请求获取模块46、信息请求发送模块47、信息接收模块48、组成模块49、字符串发送模块410。
列表请求获取模块41用于当即插即用管理器下发的查询设备列表请求时,过滤驱动截获所述查询设备列表请求,所述过滤驱动为在枚举驱动上新增加的一层驱动程序;列表请求发送模块42用于将所述列表请求获取模块41截获的所述查询设备列表请求发送给枚举驱动,以便所述枚举驱动根据所述查询设备列表请求枚举所有的设备,并将所述枚举的所有设备的列表返回给即插即用管理器。为了使系统得知枚举驱动根据所述查询设备列表请求枚举所有的设备完成的操作,一般在截获所述查询设备列表请求后,为该请求注册一个完成回调函数。
当所述枚举驱动根据所述查询设备列表请求返回设备列表时,列表接收模块43用于所述过滤驱动接收所述枚举驱动根据所述查询设备列表请求返回的设备列表;创建模块44用于所述过滤驱动根据所述列表接收模块43接收到的设备列表,为所述设备列表中的每一个设备创建一个过滤设备对象;添加模块45将所述创建模块44创建的所述过滤设备对象添加到对应的子设备栈中;在将过滤设备对象添加到对应的子设备栈后,将所述枚举驱动返回的所述设备列表发送给所述即插即用管理器,以便所述即插即用管理器根据所述设备列表,向所述列表中的设备发送查询设备信息请求。当所述枚举驱动根据所述查询设备列表请求返回设备列表时,系统自动调用所述为查询设备列表请求注册的完成回调函数,执行所述根据所述返回的设备列表为所述设备列表中的每一个设备创建一个过滤设备对象,并将所述创建的所述过滤设备对象添加到对应的子设备栈中。
其中,所述过滤驱动根据所述枚举驱动返回的设备列表,为所述设备列表中的每一个设备创建一个过滤设备对象,并将创建好的过滤设备对象添加到对应的子设备栈中,目的是为了保证所述新添加的过滤驱动程序能够据子设备栈中的过滤设备对象列表截获所述即插即用管理器下发的查询设备信息请求,并可以对所述枚举驱动返回的设备信息进行修改。
信息请求获取模块46用于当即插即用管理器向物理设备对象发送查询设备信息请求时,过滤驱动截获所述查询设备信息请求;在截获所述信息请求后,信息请求发送模块47将所述信息请求获取模块46截获的所述查询设备信息请求发送给所述枚举驱动,以便所述枚举驱动根据所述查询请求将所述设备信息返回,所述枚举驱动返回的设备信息为字符串格式,设备厂商标识、产品标识和产品端口编号,所述设备信息的表示形式如vid_xxxx&pid_yyyy&mi_zz。
当所述枚举驱动根据所述查询设备信息请求返回时,信息接收模块48用于所述过滤驱动接收所述枚举驱动返回的所述设备信息;在接收到所述设备信息后,组成模块49用于根据所述返回的设备信息和所述设备的兼容信息,组成包含设备厂商标识、设备子类型以及设备协议类型的设备驱动匹配字符串,该字符串可表示为:vid_xxxx&subclass_yy&prot_zz。字符串发送模块410用于将所述组成模块49组成的设备驱动匹配字符串发送给所述即插即用管理器,以便所述即插即用管理器根据所述组成的设备驱动匹配字符串,查找到与所述设备匹配的驱动程序。
其中,所述设备的兼容信息为字符串的形式包括设备类型、设备子类型以及设备协议类型,其表示形式如class_xx&subclass_yy&prot_zz;在将接收到的枚举驱动返回的设备信息和所述设备的兼容信息组成新的设备驱动匹配字符串之前,该装置还进一步包括兼容信息获取模块411。所述兼容信息获取模块411用于所述过滤驱动向所述物理设备对象发送查询设备兼容信息请求,获取所述设备的兼容信息。
进一步,为了使系统得知枚举驱动根据所述查询设备信息请求枚举所述设备信息完成的操作,该装置还包括:注册模块412。注册模块412用于在所述信息请求获取模块46将截获的所述查询设备信息请求发送给枚举驱动之前,为所述查询设备信息请求注册一个完成回调函数,以便在所述枚举驱动根据所述查询设备信息请求返回设备信息时,系统自动调用所述注册的完成回调函,执行所述根据所述返回的设备信息和所述设备的兼容信息,组成包含设备厂商标识、设备子类型以及设备协议类型的设备驱动匹配字符串。
本发明实施例中,在枚举驱动上增加一层过滤驱动,由所述增加的过滤驱动为枚举驱动枚举的每一个设备创建对应的过滤设备对象,并将所述创建的设备对象添加到对应的子设备栈中,从而使所述过滤驱动与设备对象之间建立联系;当即插即用管理器向物理设备对象发送查询设备信息请求,通过所述过滤驱动截获所述查询设备信息请求,并且在所述枚举驱动根据所述查询设备信息请求返回的设备信息后,根据所述返回的设备信息和所述设备的兼容信息,组成包含设备厂商标识、设备子类型以及设备协议类型的设备驱动匹配字符串,并将所述组成的设备匹配字符串发送给所述即插即用管理器,从而使操作系统可以根据所述设备驱动匹配字符串中的厂商标识、设备子类型以及设备协议类型信息实现设备驱动程序的匹配;与现有技术中相比,本发明实施例中,针对一个设备厂商,仅需要根据设备子类型和设备协议类型编写设备驱动程序的匹配字符串,便可以实现同类设备的驱动程的匹配,后续无论同类设备的设备标识或者端口编号如何改变,都不用重新编写相应设备的驱动匹配字符串,做到同类产品同类端口的设备的驱动匹配字符串一次开发,重复使用,在大规模生产时可以极大的节约驱动维护和认证成本。
本发明实施例仅描述使用过滤驱动来修改设备驱动匹配字符串的这个特例,但是通过这个方案可以修改所有在设备枚举驱动期间返回给即插即用管理器的信息,都属于本发明保护的范围。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种修改USB设备驱动匹配信息的方法,其特征在于,包括:
当即插即用管理器向物理设备对象发送查询设备信息请求时,过滤驱动截获所述查询设备信息请求,并将截获的所述查询设备信息请求发送给所述枚举驱动;
所述过滤驱动接收所述枚举驱动根据所述查询设备信息请求返回的设备信息,并根据所述返回的设备信息和所述设备的兼容信息,组成包含设备厂商标识、设备子类型以及设备协议类型的设备驱动匹配字符串;
将所述组成的设备驱动匹配字符串发送给所述即插即用管理器。
2.根据权利要求1所述的方法,其特征在于,在所述过滤驱动根据所述返回的设备信息和所述设备的兼容信息,组成包含设备厂商标识、设备子类型以及设备协议类型的设备驱动匹配字符串之前,该方法还包括:
所述过滤驱动向所述物理设备对象发送查询设备兼容信息请求,获取所述设备的兼容信息,所述设备兼容信息为字符串的形式包括设备类型、设备子类型以及设备协议类型。
3.根据权利要求1所述的方法,其特征在于,在将截获的所述查询设备信息请求发送给所述枚举驱动之前,该方法进一步包括:
为截获的所述查询设备信息请求注册一个完成回调函数,以便在所述枚举驱动根据所述查询设备信息请求返回设备信息时,调用注册的完成回调函数,执行所述根据所述返回的设备信息和所述设备的兼容信息,组成包含设备厂商标识、设备子类型以及设备协议类型的设备驱动匹配字符串。
4.根据权利要求1所述的方法,其特征在于,在过滤驱动截获所述查询设备信息请求之前,该方法还包括:
当即插即用管理器下发的查询设备列表请求时,所述过滤驱动截获所述查询设备列表请求,并将截获的所述查询设备列表请求发送给枚举驱动;
所述过滤驱动接收所述枚举驱动根据所述查询设备列表请求返回的设备列表,根据所述设备列表为所述设备列表中的每一个设备创建一个过滤设备对象,并将创建的所述过滤设备对象添加到对应的子设备栈中,以便所述过滤驱动根据子设备栈中的过滤设备对象列表截获所述查询设备信息请求。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述设备信息为字串的形式,包括设备厂商标识、产品标识和产品端口编号。
6.一种修改USB设备驱动匹配信息的装置,其特征在于,包括:
信息请求获取模块,用于当即插即用管理器向物理设备对象发送查询设备信息请求时,过滤驱动截获所述查询设备信息请求;
信息请求发送模块,用于将所述信息请求获取模块截获的所述查询设备信息请求发送给所述枚举驱动;
信息接收模块,用于所述过滤驱动接收所述枚举驱动根据所述查询设备信息请求返回的设备信息;
组成模块,用于根据所述返回的设备信息和所述设备的兼容信息,组成包含设备厂商标识、设备子类型以及设备协议类型的设备驱动匹配字符串;
字符串发送模块,用于将所述组成模块组成的设备驱动匹配字符串发送给所述即插即用管理器。
7.根据权利要求6所述的装置,其特征在于,该装置还包括:
兼容信息获取模块,用于在所述过滤驱动根据所述返回的设备信息和所述设备的兼容信息,组成包含设备厂商标识、设备子类型以及设备协议类型的设备驱动匹配字符串之前,向所述物理设备对象发送查询设备兼容信息请求,获取所述设备的兼容信息,所述设备兼容信息为字符串的形式包括设备类型、设备子类型以及设备协议类型。
8.根据权利要求6所述的装置,其特征在于,该装置还包括:
注册模块,用于在所述信息请求发送模块将截获的所述查询设备信息请求发送给枚举驱动之前,为所述查询设备信息请求注册一个完成回调函数,以便在所述枚举驱动根据所述查询设备信息请求返回设备信息时,调用注册的完成回调函数,执行所述根据所述返回的设备信息和所述设备的兼容信息,组成包含设备厂商标识、设备子类型以及设备协议类型的设备驱动匹配字符串。
9.根据权利要求6所述的装置,其特征在于,该装置还包括:
列表请求获取模块,用于在过滤驱动截获所述查询设备信息请求之前,当即插即用管理器下发的查询设备列表请求时,所述过滤驱动截获所述查询设备列表请求;
列表请求发送模块,用于将所述列表请求获取模块截获的所述查询设备列表请求发送给枚举驱动;
列表接收模块,用于所述过滤驱动接收所述枚举驱动根据所述查询设备列表请求返回的设备列表;
创建模块,用于所述过滤驱动根据所述列表接收模块接收到的设备列表,为所述设备列表中的每一个设备创建一个过滤设备对象;
添加模块,用于将所述创建模块创建的所述过滤设备对象添加到对应的子设备栈中,以便所述过滤驱动根据子设备栈中的过滤设备对象列表截获所述查询设备信息请求。
10.根据权利要求6-9中任一项所述的装置,其特征在于,所述设备信息为字串的形式,包括设备厂商标识、产品标识和产品端口编号。
CN200910249779XA 2009-12-02 2009-12-02 修改usb设备驱动匹配信息的方法及装置 Expired - Fee Related CN101702143B (zh)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CN200910249779XA CN101702143B (zh) 2009-12-02 2009-12-02 修改usb设备驱动匹配信息的方法及装置
JP2012541309A JP5360630B2 (ja) 2009-12-02 2010-12-01 Usb装置の駆動およびマッチング情報を修正する方法および装置
EP10834225A EP2447850B1 (en) 2009-12-02 2010-12-01 Method and device for modifying driving and matching information of usb device
ES10834225T ES2404166T3 (es) 2009-12-02 2010-12-01 Método y dispositivo para modificar la información de correspondencia del controlador de un dispositivo USB
PCT/CN2010/079326 WO2011066792A1 (zh) 2009-12-02 2010-12-01 修改usb设备驱动匹配信息的方法及装置
US13/408,113 US8527670B2 (en) 2009-12-02 2012-02-29 Method and apparatus for modifying USB device driver matching information

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200910249779XA CN101702143B (zh) 2009-12-02 2009-12-02 修改usb设备驱动匹配信息的方法及装置

Publications (2)

Publication Number Publication Date
CN101702143A true CN101702143A (zh) 2010-05-05
CN101702143B CN101702143B (zh) 2011-08-10

Family

ID=42157059

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910249779XA Expired - Fee Related CN101702143B (zh) 2009-12-02 2009-12-02 修改usb设备驱动匹配信息的方法及装置

Country Status (6)

Country Link
US (1) US8527670B2 (zh)
EP (1) EP2447850B1 (zh)
JP (1) JP5360630B2 (zh)
CN (1) CN101702143B (zh)
ES (1) ES2404166T3 (zh)
WO (1) WO2011066792A1 (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011066792A1 (zh) * 2009-12-02 2011-06-09 华为终端有限公司 修改usb设备驱动匹配信息的方法及装置
CN102253904A (zh) * 2011-06-08 2011-11-23 广州视睿电子科技有限公司 一种usb设备识别计算机操作系统的方法及装置
CN102681859A (zh) * 2011-03-10 2012-09-19 北京路模思科技有限公司 一种从USB大容量存储设备中启动Windows操作系统的方法
CN104461950A (zh) * 2013-09-25 2015-03-25 联想(北京)有限公司 一种信息处理方法及装置
CN104731350A (zh) * 2013-12-19 2015-06-24 新巨企业股份有限公司 变更键盘装置的注册码的方法
CN106412655A (zh) * 2014-01-24 2017-02-15 青岛海信电器股份有限公司 一种触摸电视及其控制方法及控制装置
CN107423075A (zh) * 2017-08-28 2017-12-01 深圳传音控股有限公司 驱动的注册方法以及用户终端
WO2018041193A1 (zh) * 2016-09-05 2018-03-08 中兴通讯股份有限公司 一种usb设备重定向方法和装置和计算机存储介质
CN110825332A (zh) * 2019-11-15 2020-02-21 江苏江波信息科技股份有限公司 一种在windows操作系统中使打印机设备即插即用的方法
CN111857851A (zh) * 2020-07-27 2020-10-30 联想(北京)有限公司 一种配置方法、装置及电子设备

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI414945B (zh) * 2010-01-12 2013-11-11 Process system and method for automatically connecting with remote USB device
US8554957B1 (en) * 2010-02-24 2013-10-08 Open Invention Network, Llc Method for creation of device drivers and device objects for peripheral devices
US20130139184A1 (en) * 2011-11-30 2013-05-30 Lsi Corporation Method for embedding a host driver within a device
US9069572B2 (en) 2012-07-27 2015-06-30 Prolific Technology Inc. Replacement of inbox driver with third party driver
JP2014203268A (ja) * 2013-04-04 2014-10-27 キヤノン株式会社 情報処理装置及び制御方法
CN104156328B (zh) * 2013-05-15 2019-02-05 中兴通讯股份有限公司 一种识别操作系统类型的方法及usb设备
US10684906B2 (en) 2016-06-15 2020-06-16 Microsoft Technology Licensing, Llc Monitoring peripheral transactions
CN106126394B (zh) * 2016-08-22 2019-02-19 浪潮(北京)电子信息产业有限公司 带外监控管理获取pcie设备资产信息的方法及系统
US10078609B1 (en) * 2017-03-16 2018-09-18 Wyse Technology L.L.C. Virtualizing a non-USB device as a USB device
US10831712B2 (en) * 2018-04-27 2020-11-10 Crowdstrike, Inc. Identifying and correlating physical devices across disconnected device stacks
CN112506820A (zh) * 2020-12-03 2021-03-16 深圳微步信息股份有限公司 Usb端口硬件参数分析方法、装置、设备及存储介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1011385A (ja) * 1996-06-26 1998-01-16 Matsushita Graphic Commun Syst Inc 周辺装置作動システム
AU2002258358A1 (en) * 2000-10-27 2002-09-04 Softconnex Technologies Automatic embedded host configuration system and method
US6804727B1 (en) * 2001-02-23 2004-10-12 Lexmark International, Inc. Method for communication from a host computer to a peripheral device
JP2003099262A (ja) * 2001-09-20 2003-04-04 Matsushita Electric Ind Co Ltd ホスト装置及び互換デバイス登録方法
CN1318988C (zh) * 2002-07-31 2007-05-30 光宝科技股份有限公司 以一转换器侦测并转换非通用串行总线装置的方法及系统
JP2004078823A (ja) * 2002-08-22 2004-03-11 Oki Data Corp 画像形成システム及び画像形成装置
KR100943742B1 (ko) * 2003-06-03 2010-02-23 삼성전자주식회사 Usb 트랜잭션을 무선 pan 상에서 전송하는 장치 및방법
US7725613B2 (en) * 2006-02-27 2010-05-25 Microsoft Corporation Device installation with host controller consideration
CN101521575B (zh) * 2009-04-09 2011-01-05 华为终端有限公司 配置访问权限的方法、控制点、设备及通信系统
CN101582794B (zh) * 2009-06-26 2011-12-07 西安电子科技大学 网络设备统一配置系统及其配置方法
CN101588268A (zh) * 2009-06-29 2009-11-25 杭州华三通信技术有限公司 通用可扩展的管理设备配置文件的方法及设备
US8281058B1 (en) * 2009-10-19 2012-10-02 Symantec Corporation Systems and methods for using USB device descriptors to identify computing environments
CN101702143B (zh) * 2009-12-02 2011-08-10 华为终端有限公司 修改usb设备驱动匹配信息的方法及装置

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8527670B2 (en) 2009-12-02 2013-09-03 Huawei Device Co., Ltd. Method and apparatus for modifying USB device driver matching information
WO2011066792A1 (zh) * 2009-12-02 2011-06-09 华为终端有限公司 修改usb设备驱动匹配信息的方法及装置
CN102681859A (zh) * 2011-03-10 2012-09-19 北京路模思科技有限公司 一种从USB大容量存储设备中启动Windows操作系统的方法
CN102253904A (zh) * 2011-06-08 2011-11-23 广州视睿电子科技有限公司 一种usb设备识别计算机操作系统的方法及装置
CN104461950B (zh) * 2013-09-25 2018-07-06 联想(北京)有限公司 一种信息处理方法及装置
CN104461950A (zh) * 2013-09-25 2015-03-25 联想(北京)有限公司 一种信息处理方法及装置
CN104731350A (zh) * 2013-12-19 2015-06-24 新巨企业股份有限公司 变更键盘装置的注册码的方法
CN106412655A (zh) * 2014-01-24 2017-02-15 青岛海信电器股份有限公司 一种触摸电视及其控制方法及控制装置
WO2018041193A1 (zh) * 2016-09-05 2018-03-08 中兴通讯股份有限公司 一种usb设备重定向方法和装置和计算机存储介质
CN107797947A (zh) * 2016-09-05 2018-03-13 中兴通讯股份有限公司 一种usb设备重定向方法和装置
CN107423075A (zh) * 2017-08-28 2017-12-01 深圳传音控股有限公司 驱动的注册方法以及用户终端
CN107423075B (zh) * 2017-08-28 2021-06-08 深圳传音控股股份有限公司 驱动的注册方法以及用户终端
CN110825332A (zh) * 2019-11-15 2020-02-21 江苏江波信息科技股份有限公司 一种在windows操作系统中使打印机设备即插即用的方法
CN110825332B (zh) * 2019-11-15 2023-05-26 江苏江波信息科技股份有限公司 一种在windows操作系统中使打印机设备即插即用的方法
CN111857851A (zh) * 2020-07-27 2020-10-30 联想(北京)有限公司 一种配置方法、装置及电子设备

Also Published As

Publication number Publication date
EP2447850A4 (en) 2012-06-27
US8527670B2 (en) 2013-09-03
CN101702143B (zh) 2011-08-10
ES2404166T3 (es) 2013-05-24
EP2447850A1 (en) 2012-05-02
JP5360630B2 (ja) 2013-12-04
US20120159010A1 (en) 2012-06-21
JP2013512516A (ja) 2013-04-11
EP2447850B1 (en) 2013-02-20
WO2011066792A1 (zh) 2011-06-09

Similar Documents

Publication Publication Date Title
CN101702143B (zh) 修改usb设备驱动匹配信息的方法及装置
CN103412769A (zh) 外接卡参数配置方法、设备以及系统
CN102375786B (zh) Usb设备自动识别操作系统的方法及系统
CN103763129A (zh) 一种PCIe设备管理方法及装置
CN105005722A (zh) 移动存储设备的接入控制方法及装置
US20170337457A1 (en) Asset tag template creation from readable elements
CN100468381C (zh) Usb接口设备的识别方法
CN102097015B (zh) 一种作业指导书处理系统及方法
CN103049405A (zh) 一种安卓设备文件的管理方法和系统
WO2012128978A2 (en) Device flags
CN102393848B (zh) 获取数据终端设备识别信息的方法和系统
CN103677812A (zh) 一种硬件设备状态自适应的方法及装置
CN111294413B (zh) 一种互联网协议ip地址的确定方法、装置和可读介质
CN102983999A (zh) 一种监控平台系统及设备群的参数配置方法、系统
CN104618333A (zh) 一种移动终端安全办公系统
CN102257475A (zh) 用于使用预引导数据引导计算机系统的系统和方法
WO2015188586A1 (zh) 数据传输方法及电子设备、usb设备、存储介质
CN104484685A (zh) 一种批量发行智能卡的方法及系统
US20070294430A1 (en) Generating a device address persistent across different instantiations of an electronic device
CN107145455A (zh) 一种整机系统更新smbios静态信息的方法
CN103986797A (zh) 一种基于linux操作系统的网卡顺序调整方法
CN104156669A (zh) 一种计算机信息取证系统
CN101751353A (zh) 数据卡升级方法及装置
CN1975701B (zh) 主机驱动外设的方法及系统
CN104156328A (zh) 一种识别操作系统类型的方法及usb设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: 518129 Building 2, B District, Bantian HUAWEI base, Longgang District, Shenzhen, Guangdong.

Patentee after: Huawei terminal (Shenzhen) Co.,Ltd.

Address before: 518129 Building 2, B District, Bantian HUAWEI base, Longgang District, Shenzhen, Guangdong.

Patentee before: HUAWEI DEVICE Co.,Ltd.

CP01 Change in the name or title of a patent holder
TR01 Transfer of patent right

Effective date of registration: 20181218

Address after: 523808 Southern Factory Building (Phase I) Project B2 Production Plant-5, New Town Avenue, Songshan Lake High-tech Industrial Development Zone, Dongguan City, Guangdong Province

Patentee after: HUAWEI DEVICE Co.,Ltd.

Address before: 518129 Building 2, B District, Bantian HUAWEI base, Longgang District, Shenzhen, Guangdong.

Patentee before: Huawei terminal (Shenzhen) Co.,Ltd.

TR01 Transfer of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110810

CF01 Termination of patent right due to non-payment of annual fee