数据卡安装方法、数据卡和终端设备
技术领域
本发明涉及通信技术领域,特别是涉及一种数据卡安装方法、一种数据卡和一种终端设备。
背景技术
无线数据卡是用户用来进行无线数据通信的USB设备,通过该设备可以实现用户终端设备如PC、IPAD、PDA等与基站的交互。一方面,无线数据卡通过空中接口和基站连接,然后通过基站来访问INTERNET网络;另一方面,在用户侧,无线数据卡和终端设备相连,从而使终端设备通过无线数据卡来访问网络。
目前的数据卡产品通常配备有配套光盘,在该配套光盘上放置有用于数据卡安装和使用的配套软件和驱动。用户需要使用配套光盘安装并配置好数据卡的相关驱动和参数后,才能使用数据卡。也就是说,现有数据卡的使用无法脱离其配套光盘,一旦配套光盘损坏或丢失,将给用户使用数据卡造成不便。
可见,这种方式不但提高了数据卡产品成本(除数据卡外还必须有配套光盘),还为用户使用数据卡造成了不便。
发明内容
本发明提供了一种数据卡安装方法、一种数据卡和一种终端设备,以解决现有数据卡产品成本高,用户安装使用不便的问题。
为了解决上述问题,本发明公开了一种数据卡安装方法,包括:数据卡向终端设备提供数据卡第一设备参数,以使所述终端设备根据所述数据卡第一设备参数将所述数据卡虚拟为虚拟光驱,其中,所述虚拟光驱中包括有与数据卡安装文件对应的虚拟标示,所述数据卡安装文件包括所述数据卡的驱动程序的安装文件和所述数据卡的服务程序的安装文件;所述数据卡根据所述终端设备下发的操作所述虚拟标示的命令,提供与所述虚拟标示对应的安装文件供所述终端设备进行所述数据卡的安装;所述数据卡接收所述终端设备确定所述安装文件已安装后发送的弹出命令,根据所述弹出命令结束所述虚拟光驱的线程。
为了解决上述问题,本发明还公开了一种数据卡安装方法,包括:从数据卡获取数据卡第一设备参数,根据所述第一设备参数将所述数据卡虚拟化为虚拟光驱,其中,所述虚拟光驱中包括有与数据卡安装文件对应的虚拟标示,所述数据卡安装文件包括所述数据卡的驱动程序的安装文件和所述数据卡的服务程序的安装文件;向所述数据卡下发操作所述虚拟标示的命令,从所述数据卡获取与所述虚拟标示对应的安装文件并进行安装;当确定所述安装文件已安装,向所述数据卡发送弹出命令,进行所述虚拟光驱的弹出。
为了解决上述问题,本发明还公开了一种数据卡,包括:第一虚拟模块,用于向终端设备提供数据卡第一设备参数,以使所述终端设备根据所述数据卡第一设备参数将所述数据卡虚拟为虚拟光驱,其中,所述虚拟光驱中包括有与数据卡安装文件对应的虚拟标示,所述数据卡安装文件包括所述数据卡的驱动程序的安装文件和所述数据卡的服务程序的安装文件;安装模块,用于根据所述终端设备下发的操作所述虚拟标示的命令,提供与所述虚拟标示对应的安装文件供所述终端设备进行所述数据卡的安装;弹出模块,用于接收所述终端设备确定所述安装文件已安装后发送的弹出命令,根据所述弹出命令结束所述虚拟光驱的线程。
为了解决上述问题,本发明还公开了一种终端设备,包括:虚拟模块,用于从数据卡获取数据卡第一设备参数,根据所述数据卡第一设备参数将所述数据卡虚拟化为虚拟光驱,其中,所述虚拟光驱中包括有与数据卡安装文件对应的虚拟标示,所述数据卡安装文件包括所述数据卡的驱动程序的安装文件和所述数据卡的服务程序的安装文件;安装模块,用于向所述数据卡下发操作所述虚拟标示的命令,从所述数据卡获取与所述虚拟标示对应的安装文件并进行安装;发送模块,用于当确定所述安装文件已安装,向所述数据卡发送弹出命令,进行所述虚拟光驱的弹出。
与现有技术相比,本发明具有以下优点:
本发明通过数据卡第一设备参数,使终端设备将数据卡虚拟化为虚拟光驱,在该虚拟光驱中包括有与数据卡安装文件对应的虚拟标示,其中,数据卡安装文件包括数据卡的驱动程序的安装文件和服务程序的安装文件,在终端设备从数据卡中获取安装文件且确认安装完成后,数据卡接收终端设备的弹出命令,结束数据卡侧的虚拟光驱的线程,弹出虚拟光驱。一方面,将数据卡安装文件携带在数据卡中,无须额外的光盘,节约了数据卡产品的成本,并且,也无须担心因光盘丢失或损坏造成的用户使用数据卡不便;另一方面,在终端设备完成了安装文件的安装后,能够自动弹出光驱,使得数据卡安装过程更为方便合理,无须用户手动弹出,提高了安装速度和效率,也提升了用户使用数据卡的使用体验。
附图说明
图1是根据本发明实施例一的一种数据卡安装方法的步骤流程图;
图2是根据本发明实施例二的一种数据卡安装方法的步骤流程图;
图3是根据本发明实施例三的一种数据卡安装方法的步骤流程图;
图4是根据本发明实施例四的一种数据卡安装方法的步骤流程图;
图5是根据本发明实施例五的一种数据卡安装方法的步骤流程图;
图6是根据本发明实施例六的一种数据卡的结构框图;
图7是根据本发明实施例七的一种终端设备的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
实施例一
参照图1,示出了根据本发明实施例一的一种数据卡安装方法的步骤流程图。
本实施例从数据卡侧对本发明的数据卡安装方法进行说明。本实施例的数据卡安装方法包括以下步骤:
步骤S102:数据卡向终端设备提供数据卡第一设备参数,以使终端设备根据数据卡第一设备参数将数据卡虚拟为虚拟光驱。
其中,数据卡第一设备参数可以包括数据卡的描述符以及其它本领域技术人员设置的指示数据卡当前为光驱设备如CD-ROM的参数等。数据卡在虚拟光驱中包括有与数据卡安装文件对应的虚拟标示,该数据卡安装文件包括数据卡的驱动程序的安装文件和数据卡的服务程序的安装文件。
数据卡是USB(UniversalSerialBus,通用串行总线)设备,遵循USB协议。USB设备被分成显示器、通信设备、音频设备、人机输入设备和海量存储设备几类。海量存储设备又分为通用海量存储设备、CD-ROM(CompactDiscRead-OnlyMemory,只读光盘驱动器)设备、Tape(磁带)设备和SolidState(固态)设备。可以通过描述符对USB设备进行配置,将其虚拟化为一个海量存储设备;在将数据卡虚拟化为海量存储设备的基础上,进一步地当终端设备发送设备信息查询命令如INQUIRYSCSI命令查询设备信息时,数据卡向终端设备反馈数据卡为海量存储设备中的CD-ROM(光驱)类设备的信息,如在数据卡设定位置存储代表数据卡为CD-ROM的设定数值,数据卡向终端设备反馈该数值,终端设备根据该数值确定数据卡为CD-ROM设备。但不限于此,本领域技术人员在实际使用中还可以采用其它适当方法,将数据卡虚拟化为虚拟光驱。
虚拟光驱中放置有数据卡的驱动程序的安装文件和服务程序的安装文件,通过服务程序可以监控驱动程序的安装状态(已安装或未安装),通过驱动程序可以实现数据卡的安装和使用。
步骤S104:数据卡根据终端设备下发的操作虚拟标示的命令,提供与虚拟标示对应的安装文件供终端设备进行数据卡的安装。
当用户点击虚拟光驱中的数据卡安装文件进行数据卡安装时,终端设备会接收到用户的点击操作,根据该点击操作获知用户要安装数据卡,进而生成相应的命令,从虚拟光驱中获取数据卡安装文件进行安装,数据卡则根据终端设备的命令,向终端设备提供数据卡安装文件。
步骤S106:数据卡接收终端设备确定安装文件已安装后发送的弹出命令,根据弹出命令结束数据卡侧的虚拟光驱的线程。
当终端设备确定数据卡安装文件安装完毕后,将向数据卡发送弹出命令,数据卡根据该弹出命令,结束数据卡侧的虚拟光驱的线程。
通过本实施例,通过数据卡第一设备参数,使终端设备将数据卡虚拟化为虚拟光驱,在该虚拟光驱中包括有与数据卡安装文件对应的虚拟标示,其中,数据卡安装文件包括数据卡的驱动程序的安装文件和服务程序的安装文件,在终端设备从数据卡中获取安装文件且确认安装完成后,数据卡接收终端设备的弹出命令,结束数据卡侧的虚拟光驱的线程,弹出虚拟光驱。一方面,将数据卡安装文件携带在数据卡中,无须额外的光盘,节约了数据卡产品的成本,并且,也无须担心因光盘丢失或损坏造成的用户使用数据卡不便;另一方面,在终端设备完成了安装文件的安装后,能够自动弹出光驱,使得数据卡安装过程更为方便合理,无须用户手动弹出,提高了安装速度和效率,也提升了用户使用数据卡的使用体验。
实施例二
参照图2,示出了根据本发明实施例二的一种数据卡安装方法的步骤流程图。
本实施例是实施例一的进一步优化方案,仍从数据卡侧对本发明的数据卡安装方法进行说明。
本实施例的数据卡安装方法包括以下步骤:
步骤S202:为虚拟光驱设置布尔变量,以指示数据卡是否接收到终端设备的弹出命令。
该布尔变量的初始值为假。需要说明的是,指示是否接收到终端设备的弹出命令还可以采用其它适当方式,如非布尔变量,但使用布尔变量实现简单、方便,实现成本低。
步骤S204:设置数据卡第一设备参数,以使终端设备将数据卡虚拟为虚拟光驱,在虚拟光驱中包括有与数据卡安装文件对应的虚拟标示。
其中,该数据卡安装文件包括数据卡的驱动程序的安装文件和服务程序的安装文件。
优选地,可以通过设置USB接口描述符中的接口类参数、接口子类参数、接口协议参数,以及数据卡为CD-ROM设备的参数,将所述数据卡设置为虚拟光驱,包括:将接口类参数为海量存储类,接口子类参数为透明的SCSI命令类,接口协议参数为BULK-ONLY传输协议(批量传输协议)发送给终端设备(可以是数据卡主动发送,也可以是在终端设备发送相应的请求时反馈发送给终端设备),将数据卡虚拟化为海量存储设备;然后,接收终端设备发出的设备信息查询命令,向终端设备返回数据卡为CD-ROM设备的信息。
当为USB设备配置了BULK-ONLY传输协议,USB设备使用Bulk-Only传输方式。在此方式下,USB与终端设备间的所有数据均通过Bulk-In和Bulk-Out来进行传输,不再通过控制端点传输任何数据。在这种传输方式下,有三种类型的数据在USB和设备之间传送,CBW、CSW和普通数据。CBW(CommandBlockWrapper,即命令块包)是从USBHost(主设备)发送到USBSlave(从设备)的命令(USB设备分为Host和Slave,每个USBSlave之间无法通信,USBHost负责跟USBSlave之间的通信),命令格式遵从接口中的bInterfaceSubClass所指定的命令块。CBW命令执行完成以后,向USBHost发出反映当前命令执行状态的CSW(CommandStatusWrapper,即命令状态包),USBHost根据CSW来决定是否继续发送下一个CBW或是数据。USBHost要求USBSlave执行的命令可能为发送数据,则此时需要将特定数据传送出去,完毕后发出CSW,以使USBHost进行下一步的操作。
需要说明的是,在实际使用中,步骤S204和步骤S206的执行可以不分先后顺序。
步骤S206:数据卡向终端设备提供数据卡第一设备参数,以使终端设备根据数据卡第一设备参数将数据卡虚拟为虚拟光驱。
步骤S208:数据卡接收终端设备下发的操作虚拟标示的第一命令,根据第一命令提供与虚拟标示对应的数据卡安装文件中的服务程序的安装文件供终端设备进行数据卡的服务程序安装。
USB设备被虚拟化后,向用户展示为虚拟光驱,用户可以点击该虚拟光驱中的安装文件,进行数据卡安装。当终端设备接收到用户的点击操作后,生成相应的安装命令,首先向数据卡下发第一命令,要求服务程序的安装文件,数据卡向终端设备提供服务程序的安装文件,终端设备接收到数据卡提供的服务程序的安装文件后进行终端设备侧的数据卡服务程序安装。
服务程序安装后将驻留在终端设备上,一方面,在本次安装过程中检测终端设备上是否安装过数据卡的驱动程序;另一方面,在下次有数据卡插入终端设备时启动,检测该次插入的数据卡的驱动程序是否已被终端设备安装过。
步骤S210:安装成功后的服务程序确定终端设备未安装过数据卡的驱动程序,则向数据卡下发第二命令,数据卡接收终端设备下发的第二命令,根据第二命令,提供与虚拟标示对应的数据卡安装文件中的驱动程序的安装文件供终端设备进行数据卡的驱动程序的安装。
数据卡服务程序在终端设备上安装成功后,首先检测终端设备是否安装过数据卡的驱动程序,若未安装过,则告知终端设备,由终端设备从数据卡上获取驱动程序安装文件进行安装。
需要说明的是,若安装成功后的服务程序确定终端设备已安装过数据卡的驱动程序,则会直接发送弹出命令,数据卡直接接收到终端设备发送的弹出命令,根据弹出命令结束数据卡侧的虚拟光驱的线程,弹出虚拟光驱。
优选地,终端设备向数据卡发送的命令均为SCSI(SmallComputerSystemInterface,小型计算机系统接口)命令,数据卡根据终端设备发送的SCSI命令执行相应的操作。
步骤S212:当终端设备确定驱动程序安装完成,则向数据卡发送弹出命令,数据卡接收终端设备发送的弹出命令,根据弹出命令结束数据卡侧的虚拟光驱的线程,弹出虚拟光驱。
例如,当驱动程序安装完成后,用户点击“完成”按钮,终端设备接收到该点击操作后直接向数据卡或者由服务程序向数据卡发出弹出命令;或者,终端设备根据一定的规则确定驱动程序安装完成后,向数据卡发出弹出命令,指示数据卡结束数据卡侧的虚拟光驱的线程,弹出虚拟光驱。
本实施例中,设置了布尔变量,数据卡根据布尔变量的值判断是否接收到终端设备发出的弹出命令,进而决定是否弹出虚拟光驱。当数据卡接收到了终端设备发送的弹出命令时,会将布尔变量的值设置为真;并根据设置为真的布尔变量,关闭虚拟光驱,即结束数据卡侧虚拟光驱的线程,以结束虚拟光驱的虚拟操作,从而实现虚拟光驱弹出。当虚拟光驱弹出后,可以将该布尔变量恢复为假。
步骤S214:数据卡向终端设备提供数据卡第二设备参数,以使终端设备根据数据卡第二设备参数将数据卡虚拟为通信设备。
驱动程序安装完成后,数据卡便可正常使用,此时,可以通过USB接口描述符中的相关参数的设置,使数据卡成为通信设备,实现终端设备与基站侧的通信。
通过本实施例,无须额外的光盘,通过数据卡本身即可实现数据卡的安装和使用,以及终端设备与侧的通信,节约了数据卡产品成本,提高了数据卡安装速度和效率,也提升了用户使用数据卡的使用体验。
实施例三
参照图3,示出了根据本发明实施例三的一种数据卡安装方法的步骤流程图。
本实施例从与数据卡侧相对应的终端设备侧对本发明的数据卡安装方法进行说明。本实施例的数据卡安装方法包括以下步骤:
步骤S302:终端设备从数据卡获取数据卡第一设备参数,根据数据卡第一设备参数将数据卡虚拟化为虚拟光驱。
其中,虚拟光驱中包括有与数据卡安装文件对应的虚拟标示,数据卡安装文件包括数据卡的驱动程序的安装文件和数据卡的服务程序的安装文件。
步骤S304:终端设备接收输入的对虚拟光驱中数据卡安装文件对应的虚拟标示进行的操作,向数据卡下发操作虚拟标示命令,从数据卡获取与虚拟标示对应的安装文件并进行安装。
如,用户点击数据卡展现的虚拟光驱中的数据卡安装文件,指示安装数据卡,则终端设备会接收到该点击操作,获知用户意图,进而生成相关安装命令,从数据卡中获取相应的安装文件进行安装。
步骤S306:终端设备确定安装文件已安装完成后,向数据卡发送弹出命令,进行虚拟光驱的弹出。
本实施例的终端设备侧的数据卡安装方法与数据卡侧的数据卡安装方法相对应,使用数据卡虚拟为虚拟光驱中的数据卡安装文件进行数据卡的安装,并能在确认安装完成后给出虚拟光驱弹出命令,实现了无光盘的数据卡安装和使用,节约了数据卡产品成本,提高了数据卡安装速度和效率,也提升了用户使用数据卡的使用体验。
实施例四
参照图4,示出了根据本发明实施例四的一种数据卡安装方法的步骤流程图。
本实施例是实施例三的进一步优化方案,仍从终端设备卡侧对本发明的数据卡安装方法进行说明。
本实施例的数据卡安装方法包括以下步骤:
步骤S402:终端设备从数据卡获取数据卡第一设备参数,根据数据卡第一设备参数将数据卡虚拟化为虚拟光驱。
例如,终端设备读取数据卡中设置的USB接口描述符中的接口类参数为海量存储类,接口子类参数为透明的SCSI命令类,接口协议参数设置为BULK-ONLY传输协议的信息,将数据卡虚拟化为海量存储设备;然后,向数据卡发出设备信息查询命令,从数据卡中读取数据卡为光驱设备的信息。
步骤S404:终端设备接收输入的对虚拟光驱中数据卡安装文件的虚拟标示进行的操作。
如实施例三中所述,数据卡安装文件中包括数据卡的驱动程序的安装文件和数据卡的服务程序的安装文件。
步骤S406:终端设备向数据卡下发操作虚拟标示的第一命令,从数据卡中获取与虚拟标示对应的数据卡安装文件中的服务程序的安装文件,进行终端设备侧的数据卡服务程序安装,并启动安装后的终端设备侧的数据卡服务程序。
步骤S408:终端设备侧的数据卡服务程序获取系统注册表,根据系统注册表判断是否终端设备已安装过数据卡的驱动程序,若未安装过,则执行步骤S410;若安装过,则执行步骤S414。
一般来说,当设备正常安装后,会对系统注册表进行修改,以使终端设备能够正常识别和使用该设备。同样,如果终端设备安装过数据卡的驱动程序,则系统注册表中会有相应的修改,终端设备可以根据系统注册表判断是否安装过数据卡的驱动程序,进而决定是退出安装还是继续进行安装。
步骤S410:当终端设备根据安装后的服务程序确定未安装过数据卡的驱动程序时,向数据卡下发第二命令,从数据卡中获取虚拟标示对应的数据卡安装文件中的驱动程序的安装文件,进行终端设备侧的数据卡驱动程序安装。
步骤S412:终端设备确定数据卡的驱动程序安装完成。
步骤S414:终端设备向数据卡发送弹出命令,指示数据卡弹出虚拟光驱。
优选地,终端设备可以通过已安装的数据卡服务程序获取虚拟光驱的文件句柄;进而向该文件句柄发送弹出命令,指示弹出虚拟光驱。
优选地,终端设备在首次安装数据卡成功,向数据卡发送弹出命令指示数据卡弹出虚拟光驱之后,会根据已安装的驱动程序,修改终端设备侧的系统注册表。当然,若终端设备根据系统注册表判断已安装过数据卡,则不会进行该步骤。
通过本实施例,实现了无须额外光盘的数据卡安装和使用,节约了数据卡产品成本,提高了数据卡安装速度和效率,提升了用户使用数据卡的使用体验。
实施例五
参照图5,示出了根据本发明实施例五的一种数据卡安装方法的步骤流程图。
本实施例以Windows操作系统为例,结合数据卡侧和终端设备侧对本发明的数据卡安装方法进行说明。但本领域技术人员应当明了,其它操作系统均可参照本实施例的原理的方法,进行对应修改后实现本发明的数据卡安装方案。
本实施例的数据卡安装方法包括以下步骤:
步骤S502:设置数据卡第一设备参数,以使终端设备将数据卡虚拟为虚拟光驱,在虚拟光驱中包括有与数据卡安装文件对应的虚拟标示,其中,数据卡安装文件包括驱动程序的安装文件和服务程序的安装文件。
包括:先将数据卡设置为海量存储设备,再在终端设备发出INQUIRYSCSI命令(设备信息查询命令)时告知终端设备该数据卡为光驱。其中,数据卡对INQUIRYSCSI命令的处理如下文步骤S506中do_inquiry(fsg)函数所述。
USB规范中,接口(interface)指定设备中的哪些硬件与USB交换数据。每一个与USB交换数据的硬件就叫做一个端点(endpoint)。因此,接口是端点的集合。USB描述符描述设备、配置、接口或端点的一般信息,其中,bInterfaceClass指定设备的类型,bInterfaceSubClass指定所使用的工业标准命令块,bInterfaceProtocol为所使用的传输协议。
本实施例中,根据USB的规范,对usbinterface和usbendpoint描述进行赋值,将usb_interface_description的bInterfaceClass,bInterfaceSubClass,bInterfaceProtocol分别赋值为0x08,0x06,0x50,如下:
bInterfaceClass=08/*表示USB设备为存储类设备*/
bInterfaceSubClass=0x06/*表示USB设备执行透明的SCSI指令*/
bInterfaceProtocol=0x50/*表示USB设备使用bulk-only传输协议*/
具体的代码示例如下:
(1)usbinterface描述符配置
(2)usbendpoint描述符配置
步骤S504:将数据卡插入终端设备,使终端设备首先将数据卡虚拟成一个光驱。
该光驱内存贮着数据卡相关软件,包括数据卡的驱动程序的安装文件和服务程序的安装文件。
步骤S506:数据卡初始化成功后,数据卡会启动一个处理CD-ROM的线程,来检测与驱动程序安装相关的SCSI命令,并做出相应处理。
其中,检测并处理SCSI命令需要遵循SCSI协议。数据卡初始化成功包括数据卡虚拟为虚拟光驱成功。
一种数据卡服务程序的主循环示例代码如下:
其中,从USBHOST接收数据的get_next_command(fsg)的代码如下:
其中,检查并处理SCSI命令的do_scsi_command(fsg)的代码如下:
其中,检查并处理INQUIRYSCSI命令的do_inquiry(fsg)的代码如下:
其中,如果USBHOST发了CBW命令,USBSLAVE需要做相应的回复的send_status(fsg)的代码如下:
步骤S508:终端设备的Windows系统接收到用户的对虚拟光驱中的数据卡安装文件对应的虚拟标示的点击操作,生成安装命令,首先向数据卡下发第一命令,从数据卡获取服务程序的安装文件进行数据卡服务程序安装。
终端设备侧的数据卡服务程序安装过程包括:(1)调用OpenSCManager打开服务管理对象;(2)调用CreateService创建服务;(3)调用StartService启动服务。
步骤S510:终端设备侧的数据卡服务程序确定终端设备侧未安装过数据卡的驱动程序,向数据卡下发第二命令,从数据卡获取驱动程序的安装文件进行数据卡驱动程序安装。
步骤S512:当终端设备确定数据卡驱动程序安装完成时,会将是否安装过软件的信息写入注册表。
需要说明的是,本步骤在终端设备发送弹出命令之前或之后执行均可。
步骤S514:终端设备根据用户的安装完成确认操作,向数据卡发出弹出命令。
例如,驱动程序安装完成后,会显示“关闭”按键,点击该按键会触发弹出虚拟光驱的动作,也即,点击“关闭”按键时,终端设备向数据卡发送弹出命令,指示数据卡弹出虚拟光驱。
终端设备侧的服务程序发送弹出光驱命令的具体实现包括:(1)通过名称匹配的方式,找到虚拟光驱;(2)使用CreateFile函数打开找到的虚拟光驱,返回对应的handle,CreateFile函数可以根据设备的名称找到对应设备,如果打开成功,返回该设备的句柄;(3)使用DeviceIoControl函数发送IOCTL_STORAGE_EJECT_MEDIA至该handle弹出光驱,DeviceIoControl函数可以发送特定的控制字给相关设备,设备会根据特定的控制字做相应的操作。
步骤S516:数据卡接收到终端设备发送的弹出命令,弹出虚拟光驱。
数据卡侧会有两个和虚拟光驱相关的线程,其中一个用来检测SCSI命令,另外一个用来管理虚拟光驱设备。
数据卡弹出光驱的具体实现包括:(1)全局变量cdrom_eject初始化为false;(2)如果检测SCSI命令的线程收到SC_EJECT的SCSI命令,会把全局变量cdrom_eject修改为true;(3)管理虚拟光驱设备的线程会close(关闭)虚拟光驱设备,并结束虚拟光驱的虚拟动作。
步骤S518:虚拟光驱弹出后,数据卡侧会启动另外一个线程,虚拟出数据卡需要使用的相关设备。
例如网口、AT口等。
此外,如果终端设备已安装数据卡软件,插入数据卡后,终端设备侧的服务程序通过检测注册表检测到已安装过软件,会直接做弹出虚拟光驱的动作,如步骤S514和步骤S516中描述。
通过本实施例,终端设备安装的Windows系统下的服务程序检测是否需要安装数据卡相关软件和弹出虚拟光驱。如果需要弹出虚拟光驱,服务程序会调用Windows提供的接口发eject命令给数据卡,数据卡侧程序会结束CD-ROM的线程,实现了数据卡自带安装文件,无须配套光盘的安装和使用,节约了数据卡产品成本,提高了数据卡安装速度和效率,提升了用户使用数据卡的使用体验。
实施例六
参照图6,示出了根据本发明实施例六的一种数据卡的结构框图。
本实施例的数据卡中设置有数据卡安装装置,包括:第一虚拟模块602,用于向终端设备提供数据卡第一设备参数,以使终端设备根据数据卡第一设备参数将数据卡虚拟为虚拟光驱,其中,虚拟光驱中包括有与数据卡安装文件对应的虚拟标示,该数据卡安装文件包括数据卡的驱动程序的安装文件和服务程序的安装文件;安装模块604,用于根据终端设备下发的操作虚拟标示的命令,提供与虚拟标示对应的安装文件供终端设备进行数据卡的安装;弹出模块606,用于接收终端设备确定安装文件已安装后发送的弹出命令,根据弹出命令结束虚拟光驱的线程。
优选地,安装模块604,用于接收终端设备下发的操作虚拟标示的第一命令;根据第一命令,提供与虚拟标示对应的数据卡安装文件中的服务程序的安装文件供终端设备进行数据卡的服务程序的安装;当接收到终端设备下发的第二命令时,根据第二命令,提供与虚拟标示对应的数据卡安装文件中的驱动程序的安装文件供终端设备进行数据卡的驱动程序的安装,其中,第二命令是终端设备根据安装后的服务程序确定终端设备未安装过数据卡的驱动程序时下发的。
优选地,弹出模块606,用于接收终端设备确定安装文件已安装后发送的弹出命令,,将布尔变量的值设置为真;根据设置为真的布尔变量,结束数据卡侧的虚拟光驱的线程,关闭虚拟光驱,结束虚拟光驱的虚拟操作。
优选地,本实施例的数据卡还包括:第二虚拟模块608,用于在弹出模块606根据弹出命令结束虚拟光驱的线程之后,向终端设备提供数据卡第二设备参数,以使终端设备根据数据卡第二设备参数将数据卡虚拟为通信设备。
优选地,第一虚拟模块602,用于接收终端设备发出的设备信息查询命令,向终端设备返回数据卡第一设备参数,其中,第一设备参数包括:USB接口描述符中的接口类参数为海量存储类、接口子类参数为透明的SCSI命令类、接口协议参数为BULK-ONLY传输协议的信息、数据卡为CD-ROM的信息,以使终端设备根据数据卡第一设备参数将数据卡虚拟为虚拟光驱。
优选地,弹出模块606,还用于若安装成功后的服务程序确定终端设备已安装过数据卡的驱动程序,则直接接收终端设备发送的弹出命令,根据弹出命令结束虚拟光驱的线程,弹出虚拟光驱。
本实施例的数据卡用于实现前述多个方法实施例中相应的数据卡侧的数据卡安装方法,并具有相应的方法实施例的有益效果,在此不再赘述。
实施例七
参照图7,示出了根据本发明实施例七的一种终端设备的结构框图。
本实施例的终端设备中设置有相应的数据卡安装装置,包括:虚拟模块702,用于从数据卡获取数据卡第一设备参数,根据数据卡第一设备参数将数据卡虚拟化为虚拟光驱,其中,虚拟光驱中包括有与数据卡安装文件对应的虚拟标示,数据卡安装文件包括数据卡的驱动程序的安装文件和数据卡的服务程序的安装文件;安装模块704,用于向数据卡下发操作虚拟标示的命令,从数据卡获取与虚拟标示对应的安装文件并进行安装;发送模块706,用于当确定安装文件已安装,向数据卡发送弹出命令,进行虚拟光驱的弹出。
优选地,安装模块704,用于向数据卡下发操作虚拟标示的第一命令,获取与虚拟标示对应的数据卡安装文件中的服务程序的安装文件,并进行数据卡的服务程序的安装;当根据安装后的服务程序确定未安装过数据卡的驱动程序时,向数据卡下发第二命令,获取虚拟标示对应的数据卡安装文件中的驱动程序的安装文件,并进行数据卡的驱动程序的安装。
优选地,发送模块706,用于当确定安装文件已安装,通过终端设备侧已安装的数据卡服务程序获取虚拟光驱的文件句柄;向文件句柄发送弹出命令,指示弹出虚拟光驱。
优选地,本实施例的终端设备还包括:修改模块708,用于在发送模块706向数据卡发送弹出命令,进行虚拟光驱的弹出之后,根据已安装的驱动程序,修改终端设备侧的系统注册表。
优选地,安装模块704在当根据安装后的服务程序确定未安装过数据卡的驱动程序时,向数据卡下发第二命令时,通过安装后的服务程序根据系统注册表确定终端设备侧未安装过数据卡的驱动程序。
优选地,发送模块706还用于若终端设备侧的数据卡服务程序确定终端设备侧已安装过数据卡的驱动程序,则直接向虚拟光驱发送弹出命令,指示弹出虚拟光驱。
本实施例的终端设备用于实现前述多个方法实施例中相应的终端设备侧的数据卡安装方法,并具有相应的方法实施例的有益效果,在此不再赘述。
本发明通过设置,在数据卡插入终端设备时,数据卡会虚拟成一个光驱,数据卡配套的软件和驱动均放置于光驱中。在终端设备侧成功完成数据卡驱动程序的安装后,进行虚拟光驱的自动弹出,并在虚拟光驱弹出后,将数据卡虚拟成数据卡通信的接口,从而实现终端设备通过数据卡与基站进行通信。通过本发明,无须额外的光盘即可实现数据卡安装和使用,节约了数据卡产品成本,提高了数据卡安装速度和效率,提升了用户使用数据卡的使用体验。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置实施例数据卡和终端设备而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上对本发明所提供的一种数据卡安装方法、数据卡和终端设备,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。