windows是如何处理android复合设备驱动的?
2015-03-11 00:42
239 查看
windows是如何处理android复合设备驱动的?
2012-05-01 21:16:49
分类: LINUX
找了好几天,终于找到windows是如何处理android这样的复合设备啦,心里那叫一个爽!
下面把该段英文贴出来,原文的出处在这里:
http://www.cygnal.org/ubb/Forum9/HTML/001050.html
感谢google大神!
由于英文水平有限,怕翻译错误,就不翻译啦,自己搞定,有google大神呢,怕啥!
How Windows handles a composite device?
When a device satisfies these three requirement, Windows system recognizes the device as a composite device.
The class field of the device descriptor equals to zero: (bDeviceClass) = (0x00)
Single Configuration
Multiple Interfaces
[Note]
WinXP SP2, Win2k3 SP1 and Vista supports this alternative requirement.
1'. The class, subclass and protocol fields of the device are that of Interface Association Descriptor:
(bDeviceClass, bDeviceSubClass, bDeviceProtocol) = (0xEF, 0x02, 0x01)
When an USB device is plugged in to a PC, the system reads out the device descriptor of the device and makes these Device ID.
USB\VID_vvvv&PID_pppp
USB\VID_vvvv&PID_pppp&REV_rrrr
(vvvv, pppp, rrrr: four digit hex number for the VID, PID, device release number. Matches to idVendor/ idProduct/ bcdDevice, defined in the device descriptor)
The system searches device database on the registry, installed by INF files. When the system finds the Device ID in a device record, it assigns the device driver specified by the record. However, when it cannot find any matched record, and the device Configuration
satisfies above criteria, the generic composite parent driver is loaded. This parent driver parses the Configuration of the device, and assigns this Device ID to each Interfaces.
USB\VID_vvvv&PID_pppp&MI_mm
USB\VID_vvvv&PID_pppp&REV_rrrr&MI_mm
(mm: Interface number of the corresponding function, two digit hex number)
As of the Interface which specifies a class, the system also assigns this Compatible ID.
USB\CLASS_cc
USB\CLASS_cc&SUBCLASS_ss
USB\CLASS_cc&SUBCLASS_ss&PROT_pp
(cc/ ss / pp: two digits hex number.
bInterfaceClass/ bInterfaceSubClass/ bInterfaceProtocol, from the Interface descriptor)
The system searches these Device ID and Compatible ID in the device database again. When it finds a matched record, it assigns the specified device driver to the Interface. However, when it cannot find any matched record, it shows 'New Hardware Wizard' to users
and asks them to install the device driver.
2012-05-01 21:16:49
分类: LINUX
找了好几天,终于找到windows是如何处理android这样的复合设备啦,心里那叫一个爽!
下面把该段英文贴出来,原文的出处在这里:
http://www.cygnal.org/ubb/Forum9/HTML/001050.html
感谢google大神!
由于英文水平有限,怕翻译错误,就不翻译啦,自己搞定,有google大神呢,怕啥!
How Windows handles a composite device?
When a device satisfies these three requirement, Windows system recognizes the device as a composite device.
The class field of the device descriptor equals to zero: (bDeviceClass) = (0x00)
Single Configuration
Multiple Interfaces
[Note]
WinXP SP2, Win2k3 SP1 and Vista supports this alternative requirement.
1'. The class, subclass and protocol fields of the device are that of Interface Association Descriptor:
(bDeviceClass, bDeviceSubClass, bDeviceProtocol) = (0xEF, 0x02, 0x01)
When an USB device is plugged in to a PC, the system reads out the device descriptor of the device and makes these Device ID.
USB\VID_vvvv&PID_pppp
USB\VID_vvvv&PID_pppp&REV_rrrr
(vvvv, pppp, rrrr: four digit hex number for the VID, PID, device release number. Matches to idVendor/ idProduct/ bcdDevice, defined in the device descriptor)
The system searches device database on the registry, installed by INF files. When the system finds the Device ID in a device record, it assigns the device driver specified by the record. However, when it cannot find any matched record, and the device Configuration
satisfies above criteria, the generic composite parent driver is loaded. This parent driver parses the Configuration of the device, and assigns this Device ID to each Interfaces.
USB\VID_vvvv&PID_pppp&MI_mm
USB\VID_vvvv&PID_pppp&REV_rrrr&MI_mm
(mm: Interface number of the corresponding function, two digit hex number)
As of the Interface which specifies a class, the system also assigns this Compatible ID.
USB\CLASS_cc
USB\CLASS_cc&SUBCLASS_ss
USB\CLASS_cc&SUBCLASS_ss&PROT_pp
(cc/ ss / pp: two digits hex number.
bInterfaceClass/ bInterfaceSubClass/ bInterfaceProtocol, from the Interface descriptor)
The system searches these Device ID and Compatible ID in the device database again. When it finds a matched record, it assigns the specified device driver to the Interface. However, when it cannot find any matched record, it shows 'New Hardware Wizard' to users
and asks them to install the device driver.
相关文章推荐
- Windows 7中如何删除陈旧驱动设备
- 【原创】Windows中如何卸载隐藏的设备驱动
- windows 7 下安装 Android 设备驱动
- Windows中如何卸载隐藏的设备驱动
- windows 7 下安装 Android 设备驱动
- Android USB Gadget复合设备驱动(打印机)测试方法
- FT5X06 如何应用在10寸电容屏(linux-3.5电容屏驱动简析&移植10寸电容屏驱动到Android4.2) (by liukun321咕唧咕唧)
- Android系统input按键处理流程(从驱动到framework)
- Android app如何正确读写系统sys设备节点
- 如何在Windows下搭建Android开发环境
- 使用TraceView观察Windows PCIE驱动设备加载和卸载过程
- Android adb.exe程序启动不起来,如何处理
- Android设备使用扩展屏幕Presentation中的异常崩溃处理总结
- Android 中 Handler 引起的内存泄露 在Android常用编程中,Handler在进行异步操作并处理返回结果时经常被使用。其实这可能导致内存泄露,代码中哪里可能导致内存泄露,又是如何
- Android逆向之旅---Android中如何获取在非Root设备中获取应用隐私数据
- Android中如何获取在非Root设备中获取应用隐私数据
- 装系统后无网卡驱动、USB驱动,如何处理
- 如何在Windows 7平台搭建Android Cocos2d-x3.2alpha0开发环境(官方)
- android 如何显示软键盘中的搜索以及处理点击搜索却进行了两次操作问题
- platform_driver_register,什么时候调用PROBE函数 注册后如何找到驱动匹配的设备【转】