CN101963950B - 一种定位设备所连接的usb端口的方法 - Google Patents

一种定位设备所连接的usb端口的方法 Download PDF

Info

Publication number
CN101963950B
CN101963950B CN2010105005037A CN201010500503A CN101963950B CN 101963950 B CN101963950 B CN 101963950B CN 2010105005037 A CN2010105005037 A CN 2010105005037A CN 201010500503 A CN201010500503 A CN 201010500503A CN 101963950 B CN101963950 B CN 101963950B
Authority
CN
China
Prior art keywords
equipment
port
usb hub
usb
current
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.)
Active
Application number
CN2010105005037A
Other languages
English (en)
Other versions
CN101963950A (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.)
Feitian Technologies Co Ltd
Original Assignee
Feitian 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 Feitian Technologies Co Ltd filed Critical Feitian Technologies Co Ltd
Priority to CN2010105005037A priority Critical patent/CN101963950B/zh
Publication of CN101963950A publication Critical patent/CN101963950A/zh
Application granted granted Critical
Publication of CN101963950B publication Critical patent/CN101963950B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Systems (AREA)

Abstract

本发明公开了一种定位设备所连接的USB端口的方法,涉及计算机通信领域,解决了上位机无法定位普通USB设备所连接的USB端口的问题。本发明方法包括:上位机读取连接在自身上的第一设备的路径,并获取当前USB HUB的当前端口上的设备连接信息,根据设备连接信息对当前端口进行判断,当得到当前端口上连接的是普通USB设备时,获取普通USB设备在驱动程序下的路径,根据设备连接信息中的厂家标识符信息和设备标识符信息在普通USB设备的注册表路径下查找第一信息,当第一设备的路径中包含第一信息时,则表示第一设备和普通USB设备为同一设备,上位机将第一设备的路径与当前端口进行关联,定位第一设备所连接的USB端口。

Description

一种定位设备所连接的USB端口的方法
技术领域
本发明涉及计算机通信领域,特别涉及一种定位设备所连接的USB端口的方法。
背景技术
USB HUB是一种可以将一个USB接口扩展成为多个独立工作的USB接口,并使这些USB接口可以同时使用的设备,它是一种特殊的USB设备。并且USB HUB直接与电脑相连,无须外接电源,简单好用,电脑自动识别安装,无须驱动程序,即插即用。
目前,随着电脑的普及,相应带动了电脑包括USB HUB在内的周边产品的飞速发展。USB HUB以其使用方便、可靠性好等特点受到了消费者的普遍欢迎。
但是由于USB HUB上没有明确的标识,因此当一个USB HUB或多个USB HUB上连接有多个同样类型的设备时,上位机无法获得设备与端口的对应关系,也就无法定位设备所连接的USB端口。
发明内容
为了解决现有技术中的不足,本发明提供了一种定位设备所连接的USB端口的方法,所述方法包括:
上位机读取连接在其自身上的第一设备的路径;
所述上位机对当前USB HUB的当前端口进行查询,获取所述当前端口上的设备连接信息,并根据所述设备连接信息对所述当前端口进行判断,具体为
对所述设备连接信息中的连接状态标志位进行判断;
当所述连接状态标志位为无连接状态时,则表示所述端口上没有连接任何设备;
当所述连接状态标志位为有连接状态时,则表示所述端口上连接了设备,然后继续根据所述设备连接信息中的HUB标志位进行判断;
当所述HUB标志位为是时,则表示所述端口上连接的设备为USBHUB;
当所述HUB标志位为否时,则表示所述端口上连接的设备为普通USB设备;
其中,当是第一次对主控制器上连接的设备进行查询时,则所述主控制器上连接的根USB HUB即是所述当前USB HUB;当是第一次对所述当前USBHUB进行查询时,则所述当前USB HUB的第一端口为所述当前端口;
当判断得到所述当前端口上连接的是普通USB设备时;
所述上位机获取所述普通USB设备在驱动程序下的路径;
所述上位机根据所述设备连接信息中的厂家标识符信息和设备标识符信息在所述普通USB设备的注册表路径下查找第一信息;
所述上位机判断所述第一设备的路径中是否包含所述第一信息;
当判断得到所述第一设备的路径中包含所述第一信息时,则表示所述第一设备和所述普通USB设备为同一设备,所述上位机将所述第一设备的路径与所述当前端口进行关联,定位所述第一设备所连接的USB端口。
本发明的有益效果在于:本发明提供了一种定位设备所连接的USB端口的方法,通过本发明提供的方法就可以定位设备所连接的USB端口。
附图说明
图1为本实施例1提供的一种定位HID设备所连接的USB端口的方法的流程图;
图2为本实施例2提供的一种定位CCID设备所连接的USB端口的方法的流程图;
图3为本实施例3提供的一种定位SCSI设备所连接的USB端口的方法的流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式做进一步地详细描述。
实施例1
本发明实施例提供了一种定位设备所连接的USB端口的方法,具体地,在本实施例中以HID设备为例进行说明,HID设备通过USB HUB连接到上位机上,其中连接在上位机与HID设备之间的USB HUB可以是一个或多个。
参见图1,一种定位HID设备所连接的USB端口的方法,具体实现步骤如下:
步骤101:上位机读取连接在自身上的HID设备的HID路径;
其中,与上位机相连的HID设备可以是一个或多个,当有多个HID设备时,则上位机读取所有HID设备的HID路径,具体地,在本实施例中以一个HID设备为例进行说明;
进一步地,HID路径可以从WM_DEVICECHANGE消息传入的参数中读取,也可以通过调用SetupDiGetDeviceInterfaceDetail来枚举已连接的HID设备,获取其HID路径;
具体地,读取得到的HID路径为\\?\hid#vid_096e&pid_0304#7&2c7bc087&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}。
步骤102:上位机对主控制器进行查询,获取主控制器上连接的根USB HUB的名称;
在本实施例中,上位机具体通过对主控制器发送IOCTL_USB_GET_ROOT_HUB_NAME请求,获取连接在主控制器上的根USBHUB的名称。
步骤103:上位机打开当前USB HUB,并对该当前USB HUB进行查询,获得当前USB HUB的端口数目;
在本实施例中,当是第一次对该主控制器上连接的设备进行查询时,则该主控制器上连接的根USB HUB即是当前USB HUB;
具体地,对当前USB HUB进行查询的方法为:
上位机向当前USB HUB发送IOCTL_USB_GET_NODE_INFORMATION请求,获取当前USB HUB的端口数目。
步骤104:上位机对当前USB HUB的当前端口进行查询,获取当前端口上的设备连接信息;
在本实施例中,当是第一次对此当前USB HUB进行查询时,则此当前USBHUB的第一端口则为当前端口;
其中,对当前USB HUB的当前端口进行查询的方法为:
上位机向当前USB HUB的当前端口发送IOCTL_USB_GET_NODE_CONNECTION_INFORMATION请求,获取该端口上的设备连接信息,其中设备连接信息中具体包括连接状态标志位、HUB标志位、厂家标识符信息和设备标识符信息等信息;
具体地,获得的其中一个设备连接信息为:
USB_NODE_CONNECTION_INFORMATION    connectionInfo
connectionInfo.connectionIndex=0x00000003
connectionInfo.DeviceDescriptor.blength=0x12
connectionInfo.DeviceDescriptor.bDescriptorType=0x01
connectionInfo.DeviceDescriptor.bcdUSB=0x0110
connectionInfo.DeviceDescriptor.bDeviceClass=0x00
connectionInfo.DeviceDescriptor.bDeviceSubClass=0x00
connectionInfo.DeviceDescriptor.bDeviceProtocol=0x00
connectionInfo.DeviceDescriptor.bMaxPacketSize0=0x10
connectionInfo.DeviceDescriptor.idVendor=0x096e
connectionInfo.DeviceDescriptor.idProduct=0x0304
connectionInfo.DeviceDescriptor.bcdDevice=0x0104
connectionInfo.DeviceDescriptor.iManufacturer=0x01
connectionInfo.DeviceDescriptor.iProduct=0x02
connectionInfo.DeviceDescriptor.iSerialNumber=0x00
connectionInfo.DeviceDescriptor.bNumConfigurations=0x01
connectionInfo.CurrentConfigurationValue=0x01
connectionInfo.LowSpeed=0x00
connectionInfo.DeviceIsHub=0x00
connectionInfo.DeviceAddress=0x0002
connectionInfo.NumberOfOpenPipes=0x00000002
connectionInfo.ConnectionStatus=0x00000001
connectionInfo.PipeList=0x00150f33。
步骤105:根据获得的设备连接信息对当前端口进行判断,若判断得到当前端口上没有连接设备,则执行步骤106,若判断得到当前端口上连接的是USBHUB,则执行步骤111,若判断得到当前端口上连接的是普通USB设备,则执行步骤112;
在本实施例中,根据获得的设备连接信息对当前端口进行判断的方法具体如下:
先对设备连接信息中的连接状态标志位connectionInfo.ConnectionStatus进行判断,当判断得到连接状态标志位connectionInfo.ConnectionStatus为0x00000001时,则表示该当前端口上连接了设备,当判断得到连接状态标志位connectionInfo.ConnectionStatus为0x00000000时,则表示该当前端口上没有连接设备;
进一步地,当判断得到连接状态标志位connectionInfo.ConnectionStatus为0x00000001时,还需要判断设备连接信息中的HUB标志位connectionInfo.DeviceIsHub是为0x00还是为0x01,当判断得到HUB标志位connectionInfo.DeviceIsHub为0x01,则表示该当前端口上连接的是USB HUB,当判断得到HUB标志位connectionInfo.DeviceIsHub为0x00,则表示该当前端口上连接的是普通USB设备。
步骤106:上位机判断是否已查询完当前USB HUB的所有端口,若是,则执行步骤107,若否,则执行步骤110;
在本实施例中,上位机具体根据步骤103中所获得的当前USB HUB的端口数目来判断是否已查询完当前USB HUB的所有端口。
步骤107:判断当前USB HUB是否存在上一级USB HUB,若是,则执行步骤108,若否,则执行步骤109;
步骤108:将当前USB HUB的上一级USB HUB作为当前USB HUB,然后返回到步骤106;
步骤109:上位机判断是否已查询完所有的主控制器,若是,则结束操作,并提示无法对步骤101中的HID设备进行定位,若否,则返回到步骤102对下一个主控制器进行查询;
在本实施例中,判断是否已查询完所有的主控制器的方法具体为:
上位机预先通过遍历硬件设备管理器可以知道主控制器的个数,当上位机查询完一个主控制器后则接着查询下一个主控制器,直到查询的主控制器的个数与上述遍历得到的主控制器的个数相等时,则表示已查询完所有的主控制器,当预先知道主控制器的个数为1时,则查询完一个主控制器后则直接结束操作,并提示无法对步骤101中的HID设备进行定位;
或者,
上位机依次打开设备名称开头为HDC的设备,如HDC1、HDC2、HDC3、......,若打开成功,则说明还存在没有查询过的主控制器,若打开失败,则说明已查询完所有的主控制器;
具体以上位机上包含多个主控制器为例进行说明,当查询完一个主控制器,及该主控制器所连接的所有设备后,上位机继续查询下一个主控制器,以及该主控制器所连接的所有设备,直到所有的主控制器都查询完毕;
或者,在本实施例中,当上位机包含多个主控制器时,查询的方法还可以为:上位机先查询一个主控制器,得到该主控制器上连接的根USB HUB的名称,然后不接着继续查询该根USB HUB,而是开始查询下一个主控制器,直到所有的主控制器都查询完毕,再开始查询主控制器上所连接的各个根USB HUB;
进一步地,在实际应用过程中,上位机上也有可能只含有一个主控制器,此时本实施例中则不需要再执行步骤109,直接查询该主控制器上连接的根USBHUB,以及根USB HUB上连接的设备即可。
步骤110:将当前USB HUB的当前端口的下一个端口作为当前端口,并返回到步骤104;
步骤111:将连接的USB HUB作为当前USB HUB,然后返回到步骤103;
步骤112:上位机获取该普通USB设备在驱动程序下面的路径DriverKeyName;
具体地,由于在实际应用过程中,上位机上可能连接了多个相同类型的设备,如多个HID设备,因此仅凭步骤104获得的设备连接信息中的厂家标识符信息VID和设备标识符信息PID并不能正确定位到该HID设备所连接的端口,所以本实施例中还需要利用DriverKeyName;
在本实施例中,获取DriverKeyName的具体方法为:
上位机向该普通USB设备发送IOCTL_USB_GET_NODE_CONNECTION_DRIVERKEY_NAME请求,接收该普通USB设备返回的相关信息,其中返回的信息包括参数DriverKeyName,并且返回的信息的结构具体定义为USB_NODE_CONNECTION_DRIVERKEY_NAME;
其中,获取DriverKeyName的实现代码如下:
Figure GSB00000652304800091
具体地,本实施例中获取得到的DriverKeyName为:{745A17A0-74D3-11D0-B6FE-00A0C90F57DA}\0120
步骤113:根据步骤104获得的设备连接信息中的VID和PID,在该普通USB设备的注册表路径下查找Driver键值的数据与driverKeyName匹配的子项;
在本实施例中,步骤104获得的设备连接信息中的VID和PID分别为0x096e和0x0304;
查找Driver键值的数据与driverKeyName匹配的子项的方法具体为:
查找该普通USB设备的注册表路径HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB\Vid_096e&Pid_0304下面的所有子项,找到Driver键值的数据与driverKeyName匹配的子项,即找到Driver键值的数据为{745A17A0-74D3-11D0-B6FE-00A0C90F57DA}\0120的子项;
具体地,在本实施例中找到的子项为6&c195ce&0&3。
步骤114:读取查找到的子项下的ParentIdPrefix键值的数据;
具体地,在本实施例中,读取得到的ParentIdPrefix键值的数据为7&2c7bc087&0。
步骤115:判断步骤101读取得到的HID路径中是否包含步骤114读取得到ParentIdPrefix键值的数据,若否,则返回到步骤106,若是,则表示目标HID设备即连接在该当前端口上,执行步骤116;
在本实施例中,具体为判断HID路径\\?\hid#vid_096e&pid_0304#7&2c7bc087&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}中是否包含ParentIdPrefix键值的数据7&2c7bc087&0,由此可知,步骤101HID路径中包含ParentIdPrefix键值的数据,因此表示目标HID设备即连接在该USB端口上,执行步骤116。
步骤116:上位机将步骤101中的HID设备的HID路径与上述当前端口进行关联,定位该HID设备所连接的当前端口。
进一步地,在本实施例中,步骤105至步骤111还可以通过如下步骤实现:
步骤105’:根据获取的设备连接信息对当前端口进行判断,若判断得到当前端口上没有连接设备,则执行步骤106’,若判断得到当前端口上连接的是USBHUB,则执行步骤111’,若判断得到当前端口上连接的是普通USB设备,则执行步骤步骤112;
步骤106’:上位机判断是否已查询完当前USB HUB的所有端口,若否,则执行步骤107’,若是,则执行步骤108’;
步骤107’:将当前USB HUB的当前端口的下一个端口作为当前端口,并返回到步骤104;
步骤108’:判断是否存在已编号且未查询过的USB HUB,若是,则执行步骤109’,若否,则执行步骤110’;
步骤109’:将编号最前面的USB HUB作为当前USB HUB,并返回到步骤103;
步骤110’:上位机判断是否已查询完所有的主控制器,若是,则结束操作,并提示无法对步骤101中的HID设备进行定位,若否,则返回步骤102对下一个主控制器进行查询;
步骤111’:上位机判断是否存在已经编号的USB HUB,若否,则将此连接的USB HUB编号为第一USB HUB,返回到步骤106’,若是,则接着已存在的编号继续对此连接的USB HUB进行编号,返回到步骤106’。
本实施例提供了一种定位HID设备所连接的USB端口的方法,通过本实施例提供的方法就可以定位HID设备所连接的USB端口。
实施例2
本发明实施例提供了一种定位设备所连接的USB端口的方法,具体地,在本实施例中以CCID设备为例进行说明,CCID设备通过USB HUB连接到上位机上,其中连接在上位机与CCID设备之间的USB HUB可以是一个或多个。
参见图2,一种定位CCID设备所连接的USB端口的方法,具体实现步骤如下:
步骤201:上位机读取连接在自身上的CCID设备的USB路径;
其中,与上位机相连的CCID设备可以是一个或多个,当有多个CCID设备时,则上位机读取所有CCID设备的USB路径,具体地,在本实施例中以一个CCID设备为例进行说明;
进一步地,CCID设备的USB路径可以从WM_DEVICECHANGE消息传入的参数中读取,也可以通过调用SetupDiGetDeviceInterfaceDetail来枚举已连接的CCID设备,获取其USB路径;
具体地,在本实施例中,读取得到的CCID设备的USB路径为\\?\usb#vid_096e&pid_070f#6&c195ce&0&2#{a5dcbf10-6530-11d2-901f-00c04fb951ed}
步骤202:上位机对主控制器进行查询,获取主控制器上连接的根USB HUB的名称;
在本实施例中,上位机具体通过对主控制器发送IOCTL_USB_GET_ROOT_HUB_NAME请求,获取连接在主控制器上的根USBHUB的名称。
步骤203:上位机打开当前USB HUB,并对该当前USB HUB进行查询,获得该当前USB HUB的端口数目;
在本实施例中,当是第一次对该主控制器上连接的设备进行查询时,则主控制器上连接的根USB HUB即是当前USB HUB;
并且,对当前USB HUB进行查询的方法具体为:
上位机向当前USB HUB发送IOCTL_USB_GET_NODE_INFORMATION请求,获得该当前USB HUB的端口数目。
步骤204:上位机对当前USB HUB的当前端口进行查询,获取当前端口上的设备连接信息;
在本实施例中,当是第一次对此当前USB HUB进行查询时,则此当前USBHUB的第一端口即为当前端口;
其中,对当前USB HUB的当前端口进行查询的方法为:
上位机向当前USB HUB的当前端口发送IOCTL_USB_GET_NODE_CONNECTION_INFORMATION请求,获取该当前端口上的设备连接信息,其中设备连接信息中具体包括连接状态标志位、HUB标志位、厂家标识符信息和设备标识符信息等信息;
具体地,本实施例中获得的其中一个设备连接信息为:
USB_NODE_CONNECTION_INFORMATION  connectionInfo;
connectionInfo.ConnectionIndex=0x00000002;
connectionInfo.DeviceDescriptor.bLength=0x12;
connectionInfo.DeviceDescriptor.bDescriptorType=0x01;
connectionInfo.DeviceDescriptor.bcdUSB=0x0110
connectionInfo.DeviceDescriptor.bDeviceClass=0x00
connectionInfo.DeviceDescriptor.bDeviceSubClass=0x00
connectionInfo.DeviceDescriptor.bDeviceProtocol=0x00
connectionInfo.DeviceDescriptor.bMaxPacketSize0=0x08
connectionInfo.DeviceDescriptor.idVendor=0x096e
connectionInfo.DeviceDescriptor.idProduct=0x070f
connectionInfo.DeviceDescriptor.bcdDevice=0x2100
connectionInfo.DeviceDescriptor.iManufacturer=0x01
connectionInfo.DeviceDescriptor.iProduct=0x02
connectionInfo.DeviceDescriptor.iSerialNumber=0x00
connectionInfo.DeviceDescriptor.bNumConfigurations=0x01
connectionInfo.CurrentConfigurationValue=0x01
connectionInfo.LowSpeed=0x00
connectionInfo.DeviceIsHub=0x00
connectionInfo.DeviceAddress=0x0002
connectionInfo.NumberOfOpenPipes=0x00000002
connectionInfo.ConnectionStatus=0x00000001
connectionInfo.PipeList=0x00170093
步骤205:根据获得的设备连接信息对当前端口进行判断,若判断得到当前端口上没有连接设备,则执行步骤206,若判断得到当前端口上连接的是USBHUB,则执行步骤210,若判断得到当前端口上连接的是普通USB设备,则执行步骤211;
在本实施例中,根据获得的设备连接信息对当前端口进行判断的方法具体如下:
先对设备连接信息中的连接状态标志位connectionInfo.ConnectionStatus进行判断,当判断得到连接状态标志位connectionInfo.ConnectionStatus为0x00000001时,则表示该当前端口上连接了设备,当判断得到连接状态标志位connectionInfo.ConnectionStatus为0x00000000时,则表示该当前端口上没有连接设备;
进一步地,当判断得到连接状态标志位connectionInfo.ConnectionStatus为0x00000001时,还需要判断设备连接信息中的HUB标志位connectionInfo.DeviceIsHub是为0x00还是为0x01,当判断得到HUB标志位connectionInfo.DeviceIsHub为0x01,则表示该当前端口上连接的是USB HUB,当判断得到HUB标志位connectionInfo.DeviceIsHub为0x00,则表示该当前端口上连接的是普通USB设备。
步骤206:上位机判断是否已查询完当前USB HUB的所有端口,若是,则执行步骤207,若否,则执行步骤209;
在本实施例中,上位机具体根据步骤203中所获得的当前USB HUB的端口数目来判断是否已查询完当前USB HUB的所有端口。
步骤207:判断当前USB HUB是否存在上一级USB HUB,若是,则执行步骤208,若否,则结束操作,并提示无法对步骤201中的CCID设备进行定位;
步骤208:将当前USB HUB的上一级USB HUB作为当前USB HUB,然后返回到步骤206;
步骤209:将当前USB HUB的当前端口的下一个端口作为当前端口,并返回到步骤204;
步骤210:将连接的USB HUB作为当前USB HUB,然后返回到步骤203;
步骤211:上位机获取该普通USB设备在驱动程序下面的路径DriverKeyName;
具体地,由于在实际应用过程中,上位机上可能连接了多个相同类型的设备,如多个CCID设备,因此仅凭步骤204获得的设备连接信息中的厂家标识符信息VID和设备标识符信息PID并不能正确定位到步骤201中所说的CCID设备所连接的端口,所以本实施例中还需要利用DriverKeyName;
在本实施例中,获取DriverKeyName的方法具体为:上位机向该普通USB设备发送IOCTL_USB_GET_NODE_CONNECTION_DRIVERKEY_NAME请求,接收上述普通USB设备返回的相关信息,其中返回的信息包括参数DriverKeyName,并且返回的信息的结构具体定义为USB_NODE_CONNECTION_DRIVERKEY_NAME);
具体地,本实施例中获取得到的DriverKeyName为:{50dd5230-ba8a-11d1-bf5d-0000f805f530}\0005。
步骤212:根据步骤204获得的设备连接信息中的VID和PID,在上述普通USB设备的注册表路径下查找Driver键值的数据与driverKeyName匹配的子项;
在本实施例中,步骤204获得的设备连接信息中的VID和PID分别为0x096e和0x070f;
查找Driver键值的数据与driverKeyName匹配的子项的方法为:在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB\Vid_096e&Pid_070f路径下面查找Driver键值的数据为{50dd5230-ba8a-11d1-bf5d-0000f805f530}\0005的子项,具体地,在本实施例中找到的子项为6&c195ce&0&2。
步骤213:判断步骤201读取得到的CCID路径中是否包含步骤212查找得到的子项的名称,若否,则返回到步骤206,若是,则表示步骤201中所说的CCID设备即连接在该当前端口上,执行步骤214;
在本实施例中,具体为判断CCID路径\\?\usb#vid_096e&pid_070f#6&c195ce&0&2#{a5dcbf10-6530-11d2-901f-00c04fb951ed}中是否包含子项的名称6&c195ce&0&2,由此可知,CCID路径中包含子项的名称,因此表示步骤201中所说的CCID设备即连接在该当前端口上,执行步骤214。
步骤214:上位机将步骤201中所说的CCID设备路径与当前端口进行关联,定位该CCID设备所连接的USB端口。
在本实施例中,具体以上位机只包含一个主控制器为例进行说明,因此本实施例中当步骤207判断当前USB HUB不存在上一级USB HUB时,则直接结束操作,并提示无法对步骤301中的CCID设备进行定位,不需要再去查询下一个主控制器;
或者,本实施例中还可以和实施例1一样,上位机包含多个主控制器,则上位机需要对这多个主控制器进行查询,查询方法与实施例1中所描述的查询方法相同,具体为:当本实施例步骤207判断当前USB HUB不存在上一级USBHUB时,则上位机继续判断是否已查询完所有的主控制器,若是,则结束操作,并提示无法对步骤201中的CCID设备进行定位,若否,则返回到步骤202继续对下一个主控制器进行查询,直到所有的主控制器都查询完毕;
查询的方法还可以为:上位机先查询一个主控制器,得到该主控制器上连接的根USB HUB的名称,然后不接着继续查询该根USB HUB,而是开始查询下一个主控制器,直到所有的主控制器都查询完毕,再开始查询主控制器上所连接的各个根USB HUB。
本实施例提供了一种定位CCID设备所连接的USB端口的方法,通过本实施例提供的方法就可以定位CCID设备所连接的USB端口。
进一步地,本实施例提供的是一种定位CCID设备所连接的USB端口的方法,并且本实施例只以一种方法来进行说明,而在实际应用过程中存在多种定位方法,具体在本发明中,实施例1提供的另一种定位HID设备所连接的USB端口的方法也适用于本实施例所说的定位CCID设备所连接的USB端口,且实现步骤与其相似,因此在此不再重复。
实施例3
本发明实施例提供了一种定位设备所连接的USB端口的方法,具体地,在本实施例中以SCSI设备为例进行说明,SCSI设备通过USB HUB连接到上位机上,其中连接在上位机与SCSI设备之间的USB HUB可以是一个或多个。
参见图3,一种定位SCSI设备所连接的USB端口的方法,具体实现步骤如下:
步骤301:上位机读取连接在自身上的SCSI设备的SCSI路径;
其中,与上位机相连的SCSI设备可以是一个或多个,当有多个SCSI设备时,则上位机读取所有SCSI设备的SCSI路径,具体地,在本实施例中以一个SCSI设备为例进行说明;
进一步地,读取SCSI设备的SCSI路径可以从WM_DEVICECHANGE消息传入的参数中读取,也可以通过调用SetupDiGetDeviceInterfaceDetail来枚举已连接的SCSI设备,获取其SCSI路径;
具体地,在本实施例中,读取得到的SCSI路径为\\?\usbstor#cdrom&ven_usb&prod_token_2000auto&rev_1.00#7&b4952b9&0#{53f56308-b6bf-11d0-94f2-00a0c91efb8b}
步骤302:上位机对主控制器进行查询,获取主控制器上连接的根USB HUB的名称;
在本实施例中,上位机具体通过对主控制器发送IOCTL_USB_GET_ROOT_HUB_NAME请求,获取连接在主控制器上的根USBHUB的名称。
步骤303:上位机打开当前USB HUB,并对该当前USB HUB进行查询,获得该当前USB HUB的端口数目;
在本实施例中,当是第一次对该主控制器上连接的设备进行查询时,则主控制器上连接的根USB HUB即是当前USB HUB;
并且,对当前USB HUB进行查询的方法具体为:
上位机向当前USB HUB发送IOCTL_USB_GET_NODE_INFORMATION请求,获得该当前USB HUB的端口数目。
步骤304:上位机对当前USB HUB的当前端口进行查询,获取当前端口上的设备连接信息;
在本实施例中,当是第一次对此当前USB HUB进行查询时,则此当前USBHUB的第一端口即为当前端口;
其中,对当前USB HUB的当前端口进行查询的方法为:
上位机向当前USB HUB的当前端口发送IOCTL_USB_GET_NODE_CONNECTION_INFORMATION请求,获取该当前端口上的设备连接信息,其中设备连接信息中具体包括连接状态标志位、HUB标志位、厂家标识符信息和设备标识符信息等信息;
具体地,本实施例中获得的某个端口的设备连接信息为:
USB_NODE_CONNECTION_INFORMATION    connectionInfo;
connectionInfo.ConnectionIndex=0x00000004;
connectionInfo.DeviceDescriptor.bLength=0x12;
connectionInfo.DeviceDescriptor.bDescriptorType=0x01;
connectionInfo.DeviceDescriptor.bcdUSB=0x0110
connectionInfo.DeviceDescriptor.bDeviceClass=0x00
connectionInfo.DeviceDescriptor.bDeviceSubClass=0x00
connectionInfo.DeviceDescriptor.bDeviceProtocol=0x00
connectionInfo.DeviceDescriptor.bMaxPacketSize0=0x08
connectionInfo.DeviceDescriptor.idVendor=0x096e
connectionInfo.DeviceDescriptor.idProduct=0x0305
connectionInfo.DeviceDescriptor.bcdDevice=0x2007
connectionInfo.DeviceDescriptor.iManufacturer=0x01
connectionInfo.DeviceDescriptor.iProduct=0x02
connectionInfo.DeviceDescriptor.iSerialNumber=0x00
connectionInfo.DeviceDescriptor.bNumConfigurations=0x01
connectionInfo.CurrentConfigurationValue=0x01
connectionInfo.LowSpeed=0x00
connectionInfo.DeviceIsHub=0x00
connectionInfo.DeviceAddress=0x0002
connectionInfo.NumberOfOpenPipes=0x00000002
connectionInfo.ConnectionStatus=0x00000001
connectionInfo.PipeList=0x001704b3
步骤305:上位机根据设备连接信息对当前端口进行判断,若判断得到当前端口上没有连接设备,则执行步骤306,若判断得到当前端口上连接的为USBHUB,执行步骤310,若判断得到当前端口上连接的是普通USB设备,则执行步骤311;
在本实施例中,根据设备连接信息对当前端口进行判断的方法具体为:
对设备连接信息中的连接状态标志位connectionInfo.ConnectionStatus进行判断,当连接状态标志位connectionInfo.ConnectionStatus为0x00000001时,则表示当前端口上连接了设备,当连接状态标志位connectionInfo.ConnectionStatus为0x00000000时,则表示当前端口上没有连接设备;
进一步地,当连接状态标志位connectionInfo.ConnectionStatus为0x00000001时,还需要进一步地判断设备连接信息中的HUB标志位connectionInfo.DeviceIsHub是为0x00还是为0x01,若connectionInfo.DeviceIsHub为0x01,则表示该当前端口上连接的是USB HUB,若connectionInfo.DeviceIsHub为0x00,则表示该当前端口上连接的是普通USB设备。
步骤306:上位机判断是否已查询完当前USB HUB的所有端口,若否,则执行步骤307,若是,则执行步骤308;
在本实施例中,上位机具体根据步骤303中所获得的当前USB HUB的端口数目来判断是否已查询完当前USB HUB的所有端口。
步骤307:将当前USB HUB的当前端口的下一个端口作为当前端口,并返回到步骤304;
步骤308:判断是否存在已编号且未查询过的USB HUB,若否,则结束操作,并提示无法对步骤301中的SCSI设备进行定位,若是,则执行步骤309;
步骤309:将编号最前面的USB HUB作为当前USB HUB,并返回到步骤303;
步骤310:上位机判断是否存在已经编号的USB HUB,若否,则将此连接的USB HUB编号为第一USB HUB,然后返回到步骤306,若是,则接着已存在的编号继续对此连接的USB HUB进行编号,然后返回到步骤306;
步骤311:上位机获取该普通USB设备在驱动程序下面的路径DriverKeyName;
具体地,由于在实际应用过程中,上位机上可能连接了多个相同类型的设备,如多个SCSI设备,因此仅凭步骤304获得的设备连接信息中的厂家标识符信息VID和设备标识符信息PID并不能正确定位到该SCSI设备所在的端口,所以本实施例中还需要利用DriverKeyName;
在本实施例中,获取DriverKeyName的方法具体为上位机向该普通USB设备发送IOCTL_USB_GET_NODE_CONNECTION_DRIVERKEY_NAME请求,接收该普通USB设备返回的相关信息,其中返回的信息包括参数DriverKeyName,并且返回的信息的结构具体定义为USB_NODE_CONNECTION_DRIVERKEY_NAME);
具体地,本实施例中获取得到的DriverKeyName为:{36fc9e60-c465-11cf-8056-444553540000}\0120。
步骤312:根据步骤304获得的设备连接信息中的VID和PID,在上述普通USB设备的注册表路径下查找Driver键值的数据与driverKeyName匹配的子项;
在本实施例中,步骤304获得的设备连接信息中的VID和PID分别为0x096e和0x0305;
查找Driver键值的数据与driverKeyName匹配的子项的方法为:在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB\Vid_096e&Pid_0305下面查找Driver键值的数据为{36fc9e60-c465-11cf-8056-444553540000}\0120的子项,具体查找到的子项为6&c195ce&0&4。
步骤313:读取查找到的子项下的ParentIdPrefix键值的数据;
在本实施例中,读取得到的ParentIdPrefix键值的数据为7&b4952b9&0
步骤314:判断步骤301读取得到的SCSI路径中是否包含步骤313读取得到ParentIdPrefix键值的数据,若否,则返回到步骤306,若是,则表示步骤301中所说的SCSI设备即连接在该当前端口上,执行步骤315;
在本实施例中,具体为判断SCSI路径\\?\usb#vid_096e&pid_070f#6&c195ce&0&2#{a5dcbf10-6530-11d2-901f-00c04fb951ed}中是否包含子项的名称6&c195ce&0&2,由此可知,SCSI路径中包含子项的名称,因此表示步骤301中所说的SCSI设备即连接在该当前端口上,执行步骤315。
步骤315:上位机将步骤301中所说的SCSI设备路径与上述当前端口进行关联,定位该SCSI设备所连接的USB端口。
在本实施例中,具体以上位机只包含一个主控制器为例进行说明,因此本实施例中当步骤308判断得到不存在已编号且未查询过的USB HUB时,则直接结束操作,并提示无法对步骤401中的SCSI设备进行定位,不需要再去查询下一个主控制器;
或者,本实施例中还可以和实施例1一样,上位机包含多个主控制器,则上位机需要对这多个主控制器进行查询,查询方法与实施例1中所描述的查询方法相同,具体为:当本实施例步骤308判断得到不存在已编号且未查询过的USB HUB时,则上位机继续判断是否已查询完所有的主控制器,若是,则结束操作,并提示无法对步骤301中的SCSI设备进行定位,若否,则返回到步骤302继续对下一个主控制器进行查询,直到所有的主控制器都查询完毕;
查询的方法还可以为:上位机先查询一个主控制器,得到该主控制器上连接的根USB HUB的名称,然后不接着继续查询该根USB HUB,而是开始查询下一个主控制器,直到所有的主控制器都查询完毕,再开始查询主控制器上所连接的各个根USB HUB。
本实施例提供了一种定位SCSI设备所连接的USB端口的方法,通过本实施例提供的方法就可以定位SCSI设备所连接的USB端口。
进一步地,本实施例提供的是一种定位SCSI设备所连接的USB端口的方法,并且本实施例只以一种方法来进行说明,而在实际应用过程中存在多种定位方法,具体在本发明中,实施例1提供的另一种定位HID设备所连接的USB端口的方法也适用于本实施例所说的定位SCSI设备所连接的USB端口,且实现步骤与其相似,因此在此不再重复。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (14)

1.一种定位设备所连接的USB端口的方法,其特征在于,所述方法包括:
上位机读取连接在其自身上的第一设备的路径;
所述上位机对当前USB HUB的当前端口进行查询,获取所述当前端口上的设备连接信息,并根据所述设备连接信息对所述当前端口进行判断,具体为
对所述设备连接信息中的连接状态标志位进行判断;
当所述连接状态标志位为无连接状态时,则表示所述当前端口上没有连接任何设备;
当所述连接状态标志位为有连接状态时,则表示所述当前端口上连接了设备,然后继续根据所述设备连接信息中的HUB标志位进行判断;
当所述HUB标志位为是时,则表示所述当前端口上连接的设备为USBHUB;
当所述HUB标志位为否时,则表示所述当前端口上连接的设备为普通USB设备;
其中,当是第一次对主控制器上连接的设备进行查询时,则所述主控制器上连接的根USB HUB即是所述当前USB HUB;当是第一次对所述当前USBHUB进行查询时,则所述当前USB HUB的第一端口为所述当前端口;
当判断得到所述当前端口上连接的是普通USB设备时,所述上位机获取所述普通USB设备在驱动程序下的路径;
所述上位机根据所述设备连接信息中的厂家标识符信息和设备标识符信息在所述普通USB设备的注册表路径下查找第一信息;
所述上位机判断所述第一设备的路径中是否包含所述第一信息;
当判断得到所述第一设备的路径中包含所述第一信息时,则表示所述第一设备和所述普通USB设备为同一设备,所述上位机将所述第一设备的路径与所述当前端口进行关联,定位所述第一设备所连接的USB端口。
2.根据权利要求1所述的定位设备所连接的USB端口的方法,其特征在于,所述上位机读取连接在其自身上的第一设备的路径的方法具体为:所述上位机从WM_DEVICECHANGE消息传入的参数中读取,或,所述上位机通过调用SetupDiGetDeviceInterfaceDetail来枚举已连接的第一设备,获取所述第一设备的路径。
3.根据权利要求1所述的定位设备所连接的USB端口的方法,其特征在于,所述上位机对当前USB HUB的当前端口进行查询之前,所述方法还包括:
所述上位机对主控制器进行查询,获取主控制器上连接的根USB HUB的名称;
将所述根USB HUB作为当前USB HUB,打开所述当前USB HUB,并对所述当前USB HUB进行查询,获取所述当前USB HUB的端口数目。
4.根据权利要求1所述的定位设备所连接的USB端口的方法,其特征在于,当判断得到所述当前端口上没有连接任何设备时,所述方法还包括:
所述上位机判断是否已查询完所述当前USB HUB的所有端口;
若否,则将所述当前USB HUB的当前端口的下一个端口作为新当前端口,并对所述新当前端口进行查询,获取所述新当前端口上的设备连接信息,根据所述设备连接信息进行判断;
若是,则判断所述当前USB HUB是否存在上一级USB HUB;
若是,则将所述当前USB HUB的上一级USB HUB作为新当前USBHUB,然后所述上位机继续判断是否已查询完所述新当前USB HUB的所有端口;
若否,则结束操作,并提示无法对所述第一设备进行定位。
5.根据权利要求1所述的定位设备所连接的USB端口的方法,其特征在于,当判断得到所述当前端口上没有连接任何设备时,所述方法还包括:
所述上位机判断是否已查询完所述当前USB HUB的所有端口;
若否,则将所述当前USB HUB的当前端口的下一个端口作为新当前端口,并对所述新当前端口进行查询,获取所述新当前端口上的设备连接信息,根据所述设备连接信息进行判断;
若是,则判断是否存在已编号且未查询过的USB HUB;
若是,则将编号最靠前的USB HUB作为当前USB HUB,然后所述上位机继续对所述当前USB HUB进行查询;
若否,则结束操作,并提示无法对所述第一设备进行定位。
6.根据权利要求4或5所述的定位设备所连接的USB端口的方法,其特征在于,所述结束操作,并提示无法对所述第一设备进行定位之前,所述方法还包括:
所述上位机判断是否已查询完所有的主控制器;
若否,则对下一个主控制器进行查询,获取主控制器上连接的根USB HUB的名称,再将所述根USB HUB作为当前USB HUB,对所述当前USB HUB进行查询,获取所述当前USB HUB的端口数目,再对所述当前USB HUB的当前端口进行查询,获取当前端口上的设备连接信息;其中,当是第一次对所述当前USB HUB进行查询时,则所述当前USB HUB的第一端口为所述当前端口;
若是,则结束操作,并提示无法对所述第一设备进行定位。
7.根据权利要求1所述的定位设备所连接的USB端口的方法,其特征在于,当判断得到所述当前端口上连接的设备为USB HUB时,所述方法还包括:
将所述连接的USB HUB作为当前USB HUB;
对所述当前USB HUB进行查询,获取所述当前USB HUB的端口数目,再对所述当前USB HUB的当前端口进行查询,获取所述当前端口上的设备连接信息,根据所述设备连接信息进行判断。
8.根据权利要求1所述的定位设备所连接的USB端口的方法,其特征在于,当判断得到所述当前端口上连接的设备为USB HUB时,所述方法还包括:
所述上位机判断是否存在已编号的USB HUB,若否,则将所述连接的USBHUB编号为第一USB HUB,若是,则接着已存在的编号继续对所述连接的USBHUB进行编号;
所述上位机判断是否已查询完所述当前USB HUB的所有端口。
9.根据权利要求1所述的定位设备所连接的USB端口的方法,其特征在于,所述第一信息为子项的名称,或所述第一信息为ParentIdPrefix键值的数据。
10.根据权利要求9所述的定位设备所连接的USB端口的方法,其特征在于,当所述第一信息为子项的名称时,所述查找第一信息的方法具体为:
所述上位机根据所述设备连接信息中的厂家标识符信息和设备标识符信息,在所述普通USB设备的注册表路径的厂家标识符信息和设备标识符信息的目录下查找Driver键值的数据与驱动程序下的路径匹配的子项,所述查找到的子项的名称即为所述第一信息。
11.根据权利要求9所述的定位设备所连接的USB端口的方法,其特征在于,当所述第一信息为ParentIdPrefix键值的数据时,所述查找第一信息的方法具体为:
所述上位机根据所述设备连接信息中的厂家标识符信息和设备标识符信息,在所述普通USB设备的注册表路径的厂家标识符信息和设备标识符信息的目录下查找Driver键值的数据与驱动程序下的路径匹配的子项;
读取所述子项下的ParentIdPrefix键值的数据,所述读取得到的数据即为所述第一信息。
12.根据权利要求1所述的定位设备所连接的USB端口的方法,其特征在于,当判断得到所述第一设备的路径中不包含所述第一信息时,所述方法还包括:
所述上位机判断是否已查询完所述当前USB HUB的所有端口;
若否,则将所述当前USB HUB的当前端口的下一个端口作为新当前端口,并对所述新当前端口进行查询,获取所述新当前端口上的设备连接信息,根据所述设备连接信息进行判断;
若是,则判断所述当前USB HUB是否存在上一级USB HUB;
若是,则将所述当前USB HUB的上一级USB HUB作为新当前USBHUB,然后所述上位机继续判断是否已查询完所述新当前USB HUB的所有端口;
若否,则结束操作,并提示无法对所述第一设备进行定位。
13.根据权利要求1所述的定位设备所连接的USB端口的方法,其特征在于,当判断得到所述第一设备的路径中不包含所述第一信息时,所述方法还包括:
所述上位机判断是否已查询完所述当前USB HUB的所有端口;
若否,则将所述当前USB HUB的当前端口的下一个端口作为新当前端口,并对所述新当前端口进行查询,获取所述新当前端口上的设备连接信息,根据所述设备连接信息进行判断;
若是,则判断是否存在已编号且未查询过的USB HUB;
若是,则将编号最靠前的USB HUB作为当前USB HUB,然后所述上位机继续对所述当前USB HUB进行查询;
若否,则结束操作,并提示无法对所述第一设备进行定位。
14.根据权利要求12或13所述的定位设备所连接的USB端口的方法,其特征在于,所述结束操作,并提示无法对所述第一设备进行定位之前,所述方法还包括:
所述上位机判断是否已查询完所有的主控制器;
若否,则对下一个主控制器进行查询,获取主控制器上连接的根USB HUB的名称,再将所述根USB HUB作为当前USB HUB,对所述当前USB HUB进行查询,获取所述当前USB HUB的端口数目,再对所述当前USB HUB的当前端口进行查询,获取当前端口上的设备连接信息;其中,当是第一次对所述当前USB HUB进行查询时,则所述当前USB HUB的第一端口为所述当前端口;
若是,则结束操作,并提示无法对所述第一设备进行定位。
CN2010105005037A 2010-09-30 2010-09-30 一种定位设备所连接的usb端口的方法 Active CN101963950B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010105005037A CN101963950B (zh) 2010-09-30 2010-09-30 一种定位设备所连接的usb端口的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010105005037A CN101963950B (zh) 2010-09-30 2010-09-30 一种定位设备所连接的usb端口的方法

Publications (2)

Publication Number Publication Date
CN101963950A CN101963950A (zh) 2011-02-02
CN101963950B true CN101963950B (zh) 2012-02-29

Family

ID=43516823

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010105005037A Active CN101963950B (zh) 2010-09-30 2010-09-30 一种定位设备所连接的usb端口的方法

Country Status (1)

Country Link
CN (1) CN101963950B (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103440214B (zh) * 2013-09-03 2017-01-18 深圳雷柏科技股份有限公司 一种快速识别插接usb设备的方法及装置
CN103559162B (zh) * 2013-10-28 2017-01-25 飞天诚信科技股份有限公司 一种定位hub组上的usb设备的方法和主机
CN103702046A (zh) * 2013-12-18 2014-04-02 四川长虹电器股份有限公司 一种以可选方式打开语音设备的方法
CN104090986B (zh) * 2014-07-28 2018-06-01 福建三元达网络技术有限公司 一种无线控制器槽位控制方法、接入设备和无线控制器
CN105224429A (zh) * 2015-08-03 2016-01-06 深圳市美贝壳科技有限公司 一种检测usb设备挂载信息方法及***
CN105426330B (zh) * 2015-11-05 2018-08-28 飞天诚信科技股份有限公司 一种自动打开扩展通道的方法及装置
CN105930243A (zh) * 2016-04-18 2016-09-07 深圳市德名利电子有限公司 一种测试usb设备的端口确定方法及***
CN106201930B (zh) * 2016-07-26 2019-09-13 努比亚技术有限公司 一种设备端口确定装置、终端及方法
CN107797947A (zh) * 2016-09-05 2018-03-13 中兴通讯股份有限公司 一种usb设备重定向方法和装置
CN106649175B (zh) * 2016-10-19 2019-12-06 深圳市共进电子股份有限公司 一种usb hub接口功能分离的方法
CN107678984A (zh) * 2017-09-26 2018-02-09 厦门市美亚柏科信息股份有限公司 Usb端口映射方法及计算机可读存储介质
CN108540541B (zh) * 2018-03-22 2020-10-23 华为技术有限公司 信息处理方法、信息处理装置及交换机
CN109254796A (zh) * 2018-08-13 2019-01-22 深圳市德名利电子有限公司 一种usb设备的上盘配置方法及主机
CN110109850B (zh) * 2019-05-21 2023-05-23 珠海奔图电子有限公司 基于sane协议框架下扫描设备的搜索方法及装置
CN111045737B (zh) * 2019-11-29 2023-09-19 惠州Tcl移动通信有限公司 设备标识获取方法、装置、终端设备和存储介质
CN113746680A (zh) * 2021-09-03 2021-12-03 罗克佳华(重庆)科技有限公司 一种物理位置确定方法和装置、器件测试方法和装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN201466431U (zh) * 2009-06-05 2010-05-12 深圳市博业科技有限公司 Usb集线器

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN201466431U (zh) * 2009-06-05 2010-05-12 深圳市博业科技有限公司 Usb集线器

Also Published As

Publication number Publication date
CN101963950A (zh) 2011-02-02

Similar Documents

Publication Publication Date Title
CN101963950B (zh) 一种定位设备所连接的usb端口的方法
CN102665123B (zh) 一种电视操控方法、手持设备、电视及电视操控***
WO2016000428A1 (zh) 多联机配对的方法、装置及多联机***
CN104425001A (zh) 一种同时对多台交换机烧录的***、方法及相应交换机
CN101951368A (zh) 基于子网络的服务权限控制方法、终端及***
CN102736923B (zh) 软件定制安装方法及***
EP2211272B1 (en) Method and device for implementing USB endpoint multiplexing
CN102881265A (zh) 一种lcd 自适应装置及方法
US20170047066A1 (en) Voice recognition method, device, and system, and computer storage medium
CN101827078A (zh) 一种配置数据差异的查询方法、服务器和通信***
WO2009063034A3 (en) Method enabling a computer apparatus run by an operating system to execute software modules
CN102625170B (zh) 一种可即插即用调谐解调器的机顶盒及方法
WO2008120368A1 (ja) 通信装置及び通信装置制御方法
CN101377677A (zh) 投影机网络控制***
CN1964452A (zh) 电视机自动识别扩展功能模块的方法
CN105141484A (zh) 基于云服务器的安卓设备远程调试方法
CN103957242A (zh) 一种ip虚拟化转换的物联网网关
CN101216776A (zh) 一种自动创建编译环境的方法及***
CN205407819U (zh) 基于nfc的蓝牙自动配对话筒
WO2007019285A3 (en) Methods and arrangements for performing desktop switching
CN104243469B (zh) 一种控制播放的方法、装置及***
CN105045740A (zh) 用于通信接口的转换方法和电路
CN102655577A (zh) 一种usb接口复用的电视机及其usb接口复用方法
JP2016118955A (ja) 通信システム,管理装置,制御装置及びプログラム
CN110011842B (zh) 一种面向虚拟化集群的初始化配置方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: FEITIAN TECHNOLOGIES CO., LTD.

Free format text: FORMER OWNER: BEIJING FEITIAN CHENGXIN SCIENCE + TECHNOLOGY CO. LTD.

Effective date: 20110808

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20110808

Address after: 100085 Beijing city Haidian District Xueqing Road No. 9 Ebizal building B block 17 layer

Applicant after: Feitian Technologies Co., Ltd.

Address before: 100085 Beijing city Haidian District Xueqing Road No. 9 Ebizal building B block 17 layer

Applicant before: Beijing Feitian Chengxin Science & Technology Co., Ltd.

C14 Grant of patent or utility model
GR01 Patent grant