[0027] 本发明利用Windows7下基于移动宽带驱动模型的网络接口驱动(该驱动可以通过自定义的命令获取设备的各种信息),在获取设备注册状态后获取SIM卡的运营商标识(一般由MCC移动国家号码,MNC移动网号组成),然后通过SIM卡的标识及其它信息组合作为新的虚拟的ID,最后通过系统函数创建新的设备节点方法动态实现该功能。
[0028] 本发明的核心思想是:利用当用户每次插拔设备操作系统都要重新加载驱动程序特性,当用户因应用场景变换(如:用户使用不同SIM卡后再次插入设备),驱动程序会重新获取插在数据卡中的SIM运营商标识,当获取SIM对应得运营商标识后同时利用Windows设备节点的特性由PnP管理器产生新的设备虚拟设备ID,该虚拟ID类似于同一设备为不同的运营商提供不同的硬件ID,这样系统通过新创建的虚拟ID而不通过硬件ID加载XML文件,从而达到动态实现设备体验的目的。
[0029] 下面结合附图和具体实施例对本发明技术方案做详细描述。
[0030] 请参考图2所示,是本发明具有动态设备体验功能的无线通信终端模块示意图。在本实施例中,所述无线通信终端以数据卡为例进行说明。所述数据卡包括初始化模块、创建工作例程模块、信息获取模块、新设备ID生成模块。
[0031] 所述初始化模块用于对数据卡驱动进行初始化。本实施例所述驱动程序是一套通用的程序。程序遵循WDM的驱动规范,首先对设备(例如USB,PCI等设备)进行初始化动作。当用户初次安装驱动,驱动程序完成设备初始化后,此时系统PnP管理器侦测的ID仅仅是硬件ID(硬件ID有可能是通用的,不是唯一的)。
[0032] 所述创建工作例程模块通过系统函数创建工作例程。驱动程序调用系统函数创建工作例程,并排队执行该工作例程,创建工作例程,在工作例程中获取具有该设备特性的信息,获取注册状态。
[0033] 所述信息获取模块通过自定义命令和设备交互获取相关信息。
[0034] 所述新设备ID生成模块通过系统函数创建虚拟设备节点,产生新的设备ID。根据得到的设备字符串值和SIM对应得运营商标识建立虚拟设备节点。
[0035] 根据需求的不同,由MCC、MNC、Unique Device String Value组成一个32位的GUID,然后通过系统函数创建新的虚拟节点,生成新的虚拟设备ID,此时在设备管理器产生新的设备节点。
[0036] 当驱动加载完成后,会创建新的设备节点,在设备管理器出现新的虚拟的设备ID,这样可以到达即使是数据卡的硬件ID一样,但由于使用不同的SIM卡而设备的虚拟ID不同。
[0037] 请参考图3所示,是本发明动态设备体验方法的实现流程示意图,其包括如下步骤:
[0038] S301:用户插入数据卡;
[0039] S302:加载设备驱动,设备初始化;
[0040] 本实施例所述驱动程序是一套通用的程序。程序遵循WDM的驱动规范,首先对设备(例如USB,PCI等设备)进行初始化动作。
[0041] 当用户初次安装驱动,驱动程序完成设备初始化后,此时系统PnP管理器侦测的ID仅仅是硬件ID(硬件ID有可能是通用的,不是唯一的)。
[0042] S303:驱动程序创建工作例程;
[0043] 驱动程序调用系统函数创建工作例程,并排队执行该工作例程,创建工作例程,在工作例程中获取具有该设备特性的信息,获取注册状态。
[0044] S304:判断SIM卡初始化是否成功,如果成功,则转入步骤S305,如果未成功,则转入步骤S303;
[0045] S305:得到设备的字符串值,获取SIM卡对应得运营商的标识;
[0046] 获取SIM卡的移动国家号(Mobile Country Code,MCC)和移动网络号(Mobile Network Code,MNC)。获取到SIM的MCC和MNC后,从设备侧获取唯一的设备字符串值(Unique Device String Value)。
[0047] S306:建立虚拟设备节点;
[0048] 根据得到的设备字符串值和SIM对应得运营商标识建立虚拟设备节点。
[0049] 根据需求的不同,由MCC、MNC、Unique Device String Value组成一个32位的GUID,然后通过系统函数创建新的虚拟节点,生成新的虚拟设备ID,此时在设备管理器产生新的设备节点。
[0050] 当驱动加载完成后,会创建新的设备节点,在设备管理器出现新的虚拟的设备ID,这样可以到达即使是数据卡的硬件ID一样,但由于使用不同的SIM卡而设备的虚拟ID不同。
[0051] 通过系统函数,同时根据设备特性及重新插拔数据卡获取信息为ID标识产生新的设备节点,达到区分数据卡的目的,同时在驱动中通过该函数创建设备节点,在每次插拔数据卡时驱动会重新加载驱动,达到在换卡插拔数据卡的应用场景下可以达到动态实现该特性的目的。
[0052] S307:判断是否再次插入数据卡,如果是,则转入步骤S302,如果不是,则流程结束。
[0053] 当用户需要重新插拔数据卡时,系统会重新加载设备的驱动,会重复上述流程,重新根据获取的信息生成新的虚拟ID。
[0054] 当用户使用同一数据卡,而SIM卡的种类不同,系统可以根据厂商或者运营商提供的XML文件中包含以上步骤所产生的虚拟ID时,系统会自动加载该ID对应的XML文件,从而显示厂商或者运营商的LOGO,Brand等信息,达到动态实现该功能的目的。
[0055] 当然,本发明还可有多种实施方式,在不背离本发明精神及其实质的情况,熟悉本领域的技术人员当可根据本发明做出各种相应的更改或变化,但凡在本发明的精神和原则之内所作的任何修改、等同替换、改进,均应包含在本发明的保护范围之内。