USB相关知识

原创 2016年08月30日 02:07:04

How can I determine which port my device is attached to?

Under Windows, every device has a unique driver key, also called the software key. You can obtain the key from a device using SetupDi functions, and obtain the same key from a hub port using undocumented DeviceIoControl codes. When you have a match, you know which port the device is attached to.

To retrieve the driver key name for a device, call SetupDiGetClassDevs and SetupDiEnumDeviceInfo, then use SetupDiGetDeviceRegistryPropertyA with Property set to SPDRP_DRIVER.

To retrieve the driver key name for a hub port, first find the hubs with SetupDi_ functions and GUID_DEVINTERFACE_USB_HUB.

Obtain a handle to a hub with CreateFile.

Get the number of ports on the hub with IOCTL_USB_GET_NODE_INFORMATION (undocumented IO control code in usbioctl.h).

Find out if a device is attached to a port with IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX.

For each attached device, get the driver key name with IOCTL_USB_GET_NODE_CONNECTION_DRIVERKEY_NAME (undocumented IO control code in usbioctl.h).

I have two or more identical devices attached to a host. How can I tell which is which?

Store a serial number in the device descriptor or use another vendor-specific identifier. For HID-class devices, applications can read the serial number with the HidD_GetSerialNumberString function.


//usb 编程知识 总结

http://www.cnblogs.com/SunWentao/archive/2011/10/10/2205779.html


//怎么根据设备管理器中的信息取得其对应的串口或驱动器

http://www.myexception.cn/vc-mfc/316257.html


USB基础知识

http://blog.csdn.net/jia_zhengshen/article/category/1405475


//C++/VC 怎么判断USB接口的唯一性

http://www.myexception.cn/cpp/1680062.html


从设备路径怎么得到对应的盘符??或者从盘符得到对应的VID\PID????

http://www.debugease.com/vc/2586359.html

USB——入门基础知识

相关名词: 主机(Host) 设备(Device) 接口(Interface) 管道(Pipe) 管道是主机与设备端点数据传输的连接通道,代表了主机的数据缓冲区与设备端点之间交换数据的能力。...
  • u012507643
  • u012507643
  • 2016年10月26日 11:21
  • 1665

linux设备驱动第一篇:基础知识点

首先,我们知道驱动是内核的一部分,那么驱动在内核中到底扮演了什么角色呢? 设备驱动程序在内核中的角色:他们是一个个独立的“黑盒子”,使某个特定的硬件响应一个定义良好的内部编程接口,这些接口完全隐...
  • lihui130135
  • lihui130135
  • 2015年03月29日 14:08
  • 915

工作中关于浏览器相关知识的总结

一、简介       网站是使用HTML、CSS、JS等技术实现静态页面展示的(静态页面:尚未和服务器、数据库交互),代码存放在服务器上,客户端使用应用软件(浏览器)提交对服务器端资源的请求。 浏览器...
  • GistTAT
  • GistTAT
  • 2017年09月13日 15:50
  • 126

二进制相关知识

补码 在计算机中,整数是以补码的形式保存的。在补码的保存方式中,最高位为符号位,最高位为0表示正数,最高位为1表示负数。正数的补码是把十进制正数数据转换为二进制的形式;负数的补码,是把负数绝...
  • hgd613
  • hgd613
  • 2014年07月19日 16:36
  • 1114

USB相关知识

1, STM32F103的USB引脚只有PA11和PA12 2, STM32F103的USB引脚不需要初始化 3, PB14是USE_STM3210E_EVAL板上用来控制实现USB模拟插...
  • u011318735
  • u011318735
  • 2014年01月07日 13:57
  • 979

JavaWeb学习笔记(一)---Web相关知识和HTTP协议

一、Web相关知识 1.Web资源 Internet上供外界访问的web资源分为: (1)静态web资源(如html页面):web页面中供人们浏览的数据始终不变。 (2)动态web:web页面...
  • Yolanda_NuoNuo
  • Yolanda_NuoNuo
  • 2016年01月17日 22:06
  • 1182

进程相关知识

进程相关
  • SmartBrave
  • SmartBrave
  • 2016年08月11日 15:00
  • 486

解读Android之Activity(1)基础知识

本文翻译自android官方文档,结合自己测试,整理如下。主要内容包括:创建Activity,实现用户接口,在manifest文件中声明Activity,使用intent filters,启动Acti...
  • wangyongge85
  • wangyongge85
  • 2015年08月25日 12:01
  • 61816

面试笔试--http知识点

1、常用的HTTP方法有哪些? GET: 用于请求访问已经被URI(统一资源标识符)识别的资源,可以通过URL传参给服务器 POST:用于传输信息给服务器,主要功能与GET方法类似,但一般推荐使用PO...
  • hyqwmxsh
  • hyqwmxsh
  • 2016年09月05日 10:10
  • 1104

测试的基本知识点

目录 一.知识总结... 2 1.软件工程要点... 2 1.1软件... 2 1.2软件危机... 3 1.3软件工程... 3 1.4应用软件生命周期管理... 3 2....
  • JiaMeichen
  • JiaMeichen
  • 2015年09月27日 15:55
  • 785
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:USB相关知识
举报原因:
原因补充:

(最多只允许输入30个字)